<?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>40400</bug_id>
          
          <creation_ts>2010-06-09 21:50:41 -0700</creation_ts>
          <short_desc>Refactoring: Simple shadow elements should be factored out .</short_desc>
          <delta_ts>2010-06-10 03:35:44 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>236155</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-06-09 21:50:41 -0700</bug_when>
    <thetext>There are several simple shadow element classes defined under rendering/*.cpp.
And some of them (ProgressValueElement, ShadowInputElement, SliderThumbElement) are 
pretty simple, and have similar definitions.
I&apos;m going to another one for Bug 40280, so we should factored out the definition from them,
instead of making another copy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236183</commentid>
    <comment_count>1</comment_count>
      <attachid>58334</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-06-09 23:50:59 -0700</bug_when>
    <thetext>Created attachment 58334
patch v0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236185</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-09 23:53:35 -0700</bug_when>
    <thetext>Attachment 58334 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/rendering/RenderSlider.cpp:39:  Alphabetical sorting problem.  [build/include_order] [4]
WebCore/rendering/ShadowElement.cpp:22:  You should add a blank line after implementation file&apos;s own header.  [build/include_order] [4]
WebCore/rendering/ShadowElement.h:66:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 3 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236186</commentid>
    <comment_count>3</comment_count>
      <attachid>58335</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-06-09 23:55:20 -0700</bug_when>
    <thetext>Created attachment 58335
patch v1; fixed style violation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236191</commentid>
    <comment_count>4</comment_count>
      <attachid>58335</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-06-10 00:05:36 -0700</bug_when>
    <thetext>Comment on attachment 58335
patch v1; fixed style violation

This is a good refactoring.

Please check if we can share code with rendering/TextControllInnerElements.{cpp,h} too.


WebCore/WebCore.xcodeproj/project.pbxproj:21765
 +  				A7E5D1D111C0AE25000A338E /* ShadowElement.cpp in Sources */,
We should sort lists in project.pbxproj.
As you saw, the current pbxproj is not sorted correctly.  So you might want to run WebKitTools/Scripts/sort-Xcode-project-file before this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236197</commentid>
    <comment_count>5</comment_count>
      <attachid>58339</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-06-10 00:25:24 -0700</bug_when>
    <thetext>Created attachment 58339
patch v2; sorted file order on project file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236198</commentid>
    <comment_count>6</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-06-10 00:30:38 -0700</bug_when>
    <thetext>Hi Kent-san, thank you for reviewing!

&gt; Please check if we can share code with rendering/TextControllInnerElements.{cpp,h} too.
Their lifecycle model is different a bit;
i.e. are created without parent node, then attached the Node after some operation.
Although it might be possible to adopt ShadowElement to them,
I would be better to keep as is for ShadowElement simplicity.

&gt; 
&gt; WebCore/WebCore.xcodeproj/project.pbxproj:21765
&gt;  +                  A7E5D1D111C0AE25000A338E /* ShadowElement.cpp in Sources */,
&gt; We should sort lists in project.pbxproj.
Sorted out with the script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236202</commentid>
    <comment_count>7</comment_count>
      <attachid>58339</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-06-10 00:42:45 -0700</bug_when>
    <thetext>Comment on attachment 58339
patch v2; sorted file order on project file

OK.
Please make sure all of layout tests pass on Mac before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236286</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-06-10 03:35:44 -0700</bug_when>
    <thetext>Committed r60951: &lt;http://trac.webkit.org/changeset/60951&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58334</attachid>
            <date>2010-06-09 23:50:59 -0700</date>
            <delta_ts>2010-06-09 23:55:14 -0700</delta_ts>
            <desc>patch v0</desc>
            <filename>bug-40400-20100610155057.patch</filename>
            <type>text/plain</type>
            <size>20982</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGRiNGY4ZTdkYWExY2Q2MzgyMjU2N2ZjYTQ0ZmE5ODExZDRjZDAxZTkuLmYxM2Ni
NzJiZGY5YTFmOTAyODFhYjhjNjFiNzU4NzM4YjZkNTkzMDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTMzMiw2ICsx
MzMyLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHJlbmRlcmluZy9SZW5kZXJXb3JkQnJl
YWsuY3BwCiAgICAgcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCiAgICAgcmVuZGVyaW5nL1Nj
cm9sbEJlaGF2aW9yLmNwcAorICAgIHJlbmRlcmluZy9TaGFkb3dFbGVtZW50LmNwcAogICAgIHJl
bmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCiAgICAgcmVuZGVyaW5nL1RyYW5z
Zm9ybVN0YXRlLmNwcAogICAgIHJlbmRlcmluZy9icmVha19saW5lcy5jcHAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRlYTgzYjczN2Vi
ZTYwYmJhODRmZDBkYmVmMWNmYWY1OTZkOTNkNy4uNGNlMDQ5YmRiMzgyYjZiY2FkODdmOWIyMzkz
ZDk3ZWM1YmFmZDc0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMC0wNi0wOSAgTU9SSVRBIEhhamltZSAg
PG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZWZhY3RvcmluZzogU2ltcGxlIHNoYWRvdyBlbGVtZW50cyBzaG91bGQg
YmUgZmFjdG9yZWQgb3V0IC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQwNDAwCisgICAgICAgIAorICAgICAgICBQdWxsZWQgU2hhZG93RWxlbWVudCBj
bGFzcyB1cCBmcm9tIFNsaWRlclRodW1iRWxlbWVudCwKKyAgICAgICAgUHJvZ3Jlc3NWYWx1ZUVs
ZW1lbnQsIFNoYWRvd0lucHV0RWxlbWVudC4gCisgICAgICAgIEFuZCByZW5hbWVkIFByb2dyZXNz
VmFsdWVFbGVtZW50IHRvIFNoYWRvd0Jsb2NrRWxlbWVudC4KKworICAgICAgICBObyBuZXcgdGVz
dHMuIEJlY2F1c2UgdGhlcmUgaXMgbm8gZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclByb2dyZXNzOjp1cGRhdGVWYWx1ZVBhcnRTdGF0ZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclByb2dyZXNzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OlNsaWRlclRodW1i
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2xpZGVyVGh1bWJFbGVtZW50OjpkZXRh
Y2gpOgorICAgICAgICAqIHJlbmRlcmluZy9TaGFkb3dFbGVtZW50LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dCbG9ja0VsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTaGFkb3dCbG9ja0VsZW1lbnQ6OlNoYWRvd0Jsb2NrRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dJbnB1dEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
aGFkb3dJbnB1dEVsZW1lbnQ6OlNoYWRvd0lucHV0RWxlbWVudCk6CisgICAgICAgICogcmVuZGVy
aW5nL1NoYWRvd0VsZW1lbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dFbGVt
ZW50OjpTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0VsZW1lbnQ6Omlz
U2hhZG93Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dFbGVtZW50OjpzaGFkb3dQYXJl
bnROb2RlKToKKwogMjAxMC0wNi0wOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYzQ1MDkw
NmE5MTRlYWNmNGU1YjZlZTFlYTNkYTdiN2MyNDVhNTJlMy4uMzIyYWFlMGM2NjIyMTE2M2M3Y2Jm
MDBlYmM3NDg3ZDY4OGRiMDNmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQor
KysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMDE1LDYgKzIwMTUsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaCBcCiAJV2Vi
Q29yZS9yZW5kZXJpbmcvU2Nyb2xsQmVoYXZpb3IuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9T
Y3JvbGxCZWhhdmlvci5oIFwKKwlXZWJDb3JlL3JlbmRlcmluZy9TaGFkb3dFbGVtZW50LmNwcCBc
CisJV2ViQ29yZS9yZW5kZXJpbmcvU2hhZG93RWxlbWVudC5oIFwKIAlXZWJDb3JlL3JlbmRlcmlu
Zy9UYWJsZUxheW91dC5oIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxl
bWVudHMuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMu
aCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDRiZThjOWY5MjA1OTFhN2QyZTJiMDhhYmRkN2NjNjg1YzJkMjRlM2YuLmRjMzQ5
ZmEwMWVmYjMxODc3OWFjMGRlMzBkNDdiY2YzNDNlMTZlZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMzExLDYgKzMzMTEs
OCBAQAogICAgICAgICAgICAgJ3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgnLAogICAgICAgICAg
ICAgJ3JlbmRlcmluZy9TY3JvbGxCZWhhdmlvci5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmlu
Zy9TY3JvbGxCZWhhdmlvci5oJywKKyAgICAgICAgICAgICdyZW5kZXJpbmcvU2hhZG93RWxlbWVu
dC5jcHAnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9TaGFkb3dFbGVtZW50LmgnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9TVkdDaGFyYWN0ZXJEYXRhLmNwcCcsCiAgICAgICAgICAgICAncmVu
ZGVyaW5nL1NWR0NoYXJhY3RlckRhdGEuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL1NWR0No
YXJhY3RlckxheW91dEluZm8uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8g
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDlhZjVhZjc4N2NkZWQwZGJlMzQzOTRkNTQyMDE1
YjIxYTQ3NjgxNTkuLmUwYmY4YTk2ZTYyMTE2NTNkYjI4NDZkYzQyMjAzMDVhNzM2Yzg3ZTIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpA
QCAtOTg2LDYgKzk4Niw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJlbmRlcmluZy9Sb290SW5saW5l
Qm94LmNwcCBcCiAgICAgcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwIFwKICAgICBy
ZW5kZXJpbmcvU2Nyb2xsQmVoYXZpb3IuY3BwIFwKKyAgICByZW5kZXJpbmcvU2hhZG93RWxlbWVu
dC5jcHAgXAogICAgIHJlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwIFwKICAg
ICByZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuY3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvQmlu
ZGluZ1VSSS5jcHAgXApAQCAtMTgwMCw2ICsxODAxLDcgQEAgSEVBREVSUyArPSBcCiAgICAgcmVu
ZGVyaW5nL1JlbmRlcldvcmRCcmVhay5oIFwKICAgICByZW5kZXJpbmcvUm9vdElubGluZUJveC5o
IFwKICAgICByZW5kZXJpbmcvU2Nyb2xsQmVoYXZpb3IuaCBcCisgICAgcmVuZGVyaW5nL1NoYWRv
d0VsZW1lbnQuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL0JpbmRpbmdVUkkuaCBcCiAgICAgcmVu
ZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmggXAogICAgIHJlbmRlcmluZy9zdHlsZS9Db3VudGVy
RGlyZWN0aXZlcy5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDg3
YzY1MzQwN2M1MmMwMTRmOGY2NGM5ZTM1ZTRmYjkwMjYxOTkzNzEuLmNjNjk2NzM0ZjhlMzk0Y2Vh
YjU3MGE2ZTU5OTBiZjY0NzVlODNjNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjg4NTUsNiArMjg4NTUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFNoYWRvd0VsZW1lbnQuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVu
ZGVyaW5nXFNoYWRvd0VsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xTVkdDaGFyYWN0ZXJEYXRhLmNwcCINCiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDA4MzA1ZjJiZDEwYzJkNWExOGRjMjUzNWFhZGNkMWI4YThmMDc5NjAuLjg5Yzg2
YTJkY2RjY2U5MDVjYTlkZDM1YTUwZDU5NWM1Njg3NzNhOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjQ4LDYgKzI2NDgsOCBAQAogCQlBN0QzQzUy
NDBCNTc2QjRCMDAyQ0E0NTAgLyogUGFzdGVib2FyZEhlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEM0M1MjMwQjU3NkI0QjAwMkNBNDUwIC8q
IFBhc3RlYm9hcmRIZWxwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlBN0Q2QjM0OTBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9h
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q2
QjM0NzBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9hZGVyLmggKi87IH07CiAJCUE3
RDZCMzRBMEY2MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdENkIzNDgwRjYxMTA0NTAw
Qjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5jcHAgKi87IH07CisJCUE3RTVEMUQxMTFDMEFF
MjUwMDBBMzM4RSAvKiBTaGFkb3dFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTVEMUNGMTFDMEFFMjUwMDBBMzM4RSAvKiBTaGFkb3dF
bGVtZW50LmNwcCAqLzsgfTsKKwkJQTdFNUQxRDIxMUMwQUUyNTAwMEEzMzhFIC8qIFNoYWRvd0Vs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
RTVEMUQwMTFDMEFFMjUwMDBBMzM4RSAvKiBTaGFkb3dFbGVtZW50LmggKi87IH07CiAJCUE4MDlG
MTQ3MEI3Mzc5M0EwMDJFNEQ3RiAvKiBSZW5kZXJTVkdHcmFkaWVudFN0b3AuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MDlGMTQ1MEI3Mzc5M0EwMDJF
NEQ3RiAvKiBSZW5kZXJTVkdHcmFkaWVudFN0b3AuaCAqLzsgfTsKIAkJQTgwOUYxNDgwQjczNzkz
QjAwMkU0RDdGIC8qIFJlbmRlclNWR0dyYWRpZW50U3RvcC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODA5RjE0NjBCNzM3OTNBMDAyRTREN0YgLyog
UmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcCAqLzsgfTsKIAkJQTgwOUYxQUEwQjczN0ZCNjAwMkU0
RDdGIC8qIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTgwOUYxQTgwQjczN0ZCNjAwMkU0RDdGIC8qIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lci5oICovOyB9OwpAQCAtODI1MCw2ICs4MjUyLDggQEAKIAkJQTdE
M0M1MjMwQjU3NkI0QjAwMkNBNDUwIC8qIFBhc3RlYm9hcmRIZWxwZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzdGVib2FyZEhlbHBlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBN0Q2QjM0NzBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9h
ZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdvcmtlclNjcmlwdExvYWRl
ci5oOyBwYXRoID0gd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTdENkIzNDgwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExv
YWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwOyBwYXRoID0gd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0U1RDFDRjExQzBBRTI1MDAwQTMzOEUgLyogU2hh
ZG93RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFk
b3dFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdFNUQxRDAxMUMw
QUUyNTAwMEEzMzhFIC8qIFNoYWRvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2hhZG93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
ODA5RjE0NTBCNzM3OTNBMDAyRTREN0YgLyogUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0dyYWRpZW50U3RvcC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODA5RjE0NjBCNzM3OTNBMDAyRTREN0YgLyogUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlclNWR0dyYWRpZW50U3RvcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4MDlGMUE4MEI3MzdGQjYwMDJFNEQ3RiAvKiBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjMwNCw2ICsxNjMwOCw4IEBA
CiAJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVDQSAvKiByZW5kZXJpbmcgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUE3RTVEMUNGMTFDMEFFMjUwMDBBMzM4
RSAvKiBTaGFkb3dFbGVtZW50LmNwcCAqLywKKwkJCQlBN0U1RDFEMDExQzBBRTI1MDAwQTMzOEUg
LyogU2hhZG93RWxlbWVudC5oICovLAogCQkJCUJDOEM4RkFBMEREQ0QyRjIwMEI1OTJGNCAvKiBz
dHlsZSAqLywKIAkJCQlBOENGRjA0QjBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxlTGF5b3V0
LmNwcCAqLywKIAkJCQlBOENGRjA0OTBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxlTGF5b3V0
LmggKi8sCkBAIC0xOTQ1Miw2ICsxOTQ1OCw3IEBACiAJCQkJNEYxNTM0REUxMUI1MzJFQzAwMjFG
RDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEYxNTM0RTAxMUI1
MzMwMjAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvclR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGOThGRkY0NTExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQTdFNUQxRDIxMUMwQUUyNTAwMEEzMzhFIC8qIFNoYWRvd0VsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtMjE3NTUsNiArMjE3NjIsNyBAQAogCQkJCUE3QkJFMjY2MTFBRkIzRjIwMDA1
RUEwMyAvKiBKU0hUTUxNZXRlckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjZCMDU0
MDkxMUI2OEYxMDAwMjU2NEM1IC8qIElEQk9iamVjdFN0b3JlSW1wbC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGOThGRkY0NDExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlBN0U1RDFEMTExQzBBRTI1MDAwQTMzOEUgLyogU2hhZG93RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRD
b250cm9sLmNwcAppbmRleCBkNGQ3M2JjZWJmNmNmMjQwYjcwYzA4NGY1OGY4OGQ0Y2MzZTE4OWJi
Li41MTI1ZWQ1NGVkYTNlYWM1MDU3MTJlMDg4NGIwOTU1YWYwOGQwZGY2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCkBAIC0yNyw3ICsyNyw3IEBA
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAj
aW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2lu
Y2x1ZGUgIlNoYWRvd0VsZW1lbnQuaCIKICNpbmNsdWRlICJJY29uLmgiCiAjaW5jbHVkZSAiTG9j
YWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTUwLDMwICs1MCw2IEBAIGNv
bnN0IGludCBpY29uRmlsZW5hbWVTcGFjaW5nID0gMjsKIGNvbnN0IGludCBkZWZhdWx0V2lkdGhO
dW1DaGFycyA9IDM0OwogY29uc3QgaW50IGJ1dHRvblNoYWRvd0hlaWdodCA9IDI7CiAKLWNsYXNz
IFNoYWRvd0lucHV0RWxlbWVudCA6IHB1YmxpYyBIVE1MSW5wdXRFbGVtZW50IHsKLXB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dJbnB1dEVsZW1lbnQ+IGNyZWF0ZShOb2RlKiBz
aGFkb3dQYXJlbnQpOwotCi1wcml2YXRlOgotICAgIFNoYWRvd0lucHV0RWxlbWVudChOb2RlKiBz
aGFkb3dQYXJlbnQpOwotCi0gICAgdmlydHVhbCBib29sIGlzU2hhZG93Tm9kZSgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIE5vZGUqIHNoYWRvd1BhcmVudE5vZGUoKSB7IHJl
dHVybiBtX3NoYWRvd1BhcmVudDsgfQotCi0gICAgTm9kZSogbV9zaGFkb3dQYXJlbnQ7ICAgIAot
fTsKLQotaW5saW5lIFNoYWRvd0lucHV0RWxlbWVudDo6U2hhZG93SW5wdXRFbGVtZW50KE5vZGUq
IHNoYWRvd1BhcmVudCkKLSAgICA6IEhUTUxJbnB1dEVsZW1lbnQoaW5wdXRUYWcsIHNoYWRvd1Bh
cmVudC0+ZG9jdW1lbnQoKSkKLSAgICAsIG1fc2hhZG93UGFyZW50KHNoYWRvd1BhcmVudCkKLXsK
LX0KLQotaW5saW5lIFBhc3NSZWZQdHI8U2hhZG93SW5wdXRFbGVtZW50PiBTaGFkb3dJbnB1dEVs
ZW1lbnQ6OmNyZWF0ZShOb2RlKiBzaGFkb3dQYXJlbnQpCi17Ci0gICAgcmV0dXJuIG5ldyBTaGFk
b3dJbnB1dEVsZW1lbnQoc2hhZG93UGFyZW50KTsKLX0KLQogUmVuZGVyRmlsZVVwbG9hZENvbnRy
b2w6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0KQogICAg
IDogUmVuZGVyQmxvY2soaW5wdXQpCiAgICAgLCBtX2J1dHRvbigwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IGFjM2ZiMTU4NWNhZDY0ZDc2OWQ4NmY5NDI2MmUyMDczMWI0
MGExNmYuLjI3YmUzYjA1YmZmMmNjMjQyOTQ4MGMyMTRkYWJlY2ZlMzg5NDZlMzcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKQEAgLTIzLDggKzIzLDcgQEAKICNpZiBFTkFCTEUo
UFJPR1JFU1NfVEFHKQogCiAjaW5jbHVkZSAiUmVuZGVyUHJvZ3Jlc3MuaCIKLQotI2luY2x1ZGUg
IkhUTUxEaXZFbGVtZW50LmgiCisjaW5jbHVkZSAiU2hhZG93RWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxQcm9ncmVzc0VsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKQEAgLTM1LDMyICszNCw2IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQot
Y2xhc3MgUHJvZ3Jlc3NWYWx1ZUVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgewotcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFByb2dyZXNzVmFsdWVFbGVtZW50PiBjcmVhdGUo
Tm9kZSogc2hhZG93UGFyZW50KTsKLQotcHJpdmF0ZTogICAgICAgIAotICAgIFByb2dyZXNzVmFs
dWVFbGVtZW50KE5vZGUqIHNoYWRvd1BhcmVudCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNTaGFk
b3dOb2RlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgTm9kZSogc2hhZG93
UGFyZW50Tm9kZSgpIHsgcmV0dXJuIG1fc2hhZG93UGFyZW50OyB9Ci0KLSAgICBOb2RlKiBtX3No
YWRvd1BhcmVudDsKLX07Ci0KLWlubGluZSBQcm9ncmVzc1ZhbHVlRWxlbWVudDo6UHJvZ3Jlc3NW
YWx1ZUVsZW1lbnQoTm9kZSogc2hhZG93UGFyZW50KQotICAgIDogSFRNTERpdkVsZW1lbnQoZGl2
VGFnLCBzaGFkb3dQYXJlbnQtPmRvY3VtZW50KCkpCi0gICAgLCBtX3NoYWRvd1BhcmVudChzaGFk
b3dQYXJlbnQpCi17Ci19Ci0KLWlubGluZSBQYXNzUmVmUHRyPFByb2dyZXNzVmFsdWVFbGVtZW50
PiBQcm9ncmVzc1ZhbHVlRWxlbWVudDo6Y3JlYXRlKE5vZGUqIHNoYWRvd1BhcmVudCkKLXsKLSAg
ICByZXR1cm4gbmV3IFByb2dyZXNzVmFsdWVFbGVtZW50KHNoYWRvd1BhcmVudCk7Ci19Ci0KIFJl
bmRlclByb2dyZXNzOjpSZW5kZXJQcm9ncmVzcyhIVE1MUHJvZ3Jlc3NFbGVtZW50KiBlbGVtZW50
KQogICAgIDogUmVuZGVyQmxvY2soZWxlbWVudCkKICAgICAsIG1fcG9zaXRpb24oLTEpCkBAIC0x
NDQsNyArMTE3LDcgQEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlVmFsdWVQYXJ0U3RhdGUo
KQogewogICAgIGJvb2wgbmVlZExheW91dCA9ICFzdHlsZSgpLT5oYXNBcHBlYXJhbmNlKCkgfHwg
bV92YWx1ZVBhcnQ7CiAgICAgaWYgKCFzdHlsZSgpLT5oYXNBcHBlYXJhbmNlKCkgJiYgIW1fdmFs
dWVQYXJ0KSB7Ci0gICAgICAgIG1fdmFsdWVQYXJ0ID0gUHJvZ3Jlc3NWYWx1ZUVsZW1lbnQ6OmNy
ZWF0ZShub2RlKCkpOworICAgICAgICBtX3ZhbHVlUGFydCA9IFNoYWRvd0Jsb2NrRWxlbWVudDo6
Y3JlYXRlKG5vZGUoKSk7CiAgICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JWYWx1
ZVBhcnQgPSBjcmVhdGVTdHlsZUZvclZhbHVlUGFydChzdHlsZSgpKTsKICAgICAgICAgbV92YWx1
ZVBhcnQtPnNldFJlbmRlcmVyKG1fdmFsdWVQYXJ0LT5jcmVhdGVSZW5kZXJlcihyZW5kZXJBcmVu
YSgpLCBzdHlsZUZvclZhbHVlUGFydC5nZXQoKSkpOwogICAgICAgICBtX3ZhbHVlUGFydC0+cmVu
ZGVyZXIoKS0+c2V0U3R5bGUoc3R5bGVGb3JWYWx1ZVBhcnQucmVsZWFzZSgpKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJQcm9ncmVzcy5oCmluZGV4IDExMzdlOTlmNzk1YmYyZWQ3YmFkMTUzYjY0YjIzZjc4
OTBkNTkzZTIuLjRkMWE4OGY1NjRlZTQwN2FhNjg2NjViNmY2MDJhZWU0OTM5ZTY4ZGEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaApAQCAtMjcsNyArMjcsNyBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBIVE1MUHJvZ3Jlc3NFbGVtZW50OwotY2xhc3MgUHJvZ3Jlc3NWYWx1
ZUVsZW1lbnQ7CitjbGFzcyBTaGFkb3dCbG9ja0VsZW1lbnQ7CiAKIGNsYXNzIFJlbmRlclByb2dy
ZXNzIDogcHVibGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKQEAgLTYzLDcgKzYzLDcgQEAgcHJp
dmF0ZToKICAgICBkb3VibGUgbV9hbmltYXRpb25EdXJhdGlvbjsKICAgICBib29sIG1fYW5pbWF0
aW5nOwogICAgIFRpbWVyPFJlbmRlclByb2dyZXNzPiBtX2FuaW1hdGlvblRpbWVyOwotICAgIFJl
ZlB0cjxQcm9ncmVzc1ZhbHVlRWxlbWVudD4gbV92YWx1ZVBhcnQ7CisgICAgUmVmUHRyPFNoYWRv
d0Jsb2NrRWxlbWVudD4gbV92YWx1ZVBhcnQ7CiB9OwogCiBpbmxpbmUgUmVuZGVyUHJvZ3Jlc3Mq
IHRvUmVuZGVyUHJvZ3Jlc3MoUmVuZGVyT2JqZWN0KiBvYmplY3QpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U2xpZGVyLmNwcAppbmRleCAzMjRkMWZkZTkzOTZiY2I1MzhlMzFhM2IxYzg5YzBkZTVkYjNjY2Fl
Li5hY2ExZDlkZTc4MTk2YTk5M2ExMzE4Mzc1Y2UxODA4MTM2NGNkN2I3IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNsaWRlci5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCi0j
aW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNs
dWRlICJIVE1MUGFyc2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sRWxlbWVudHMuaCIKQEAg
LTM3LDE0ICszNiwxMyBAQAogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgogI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgorI2luY2x1ZGUgIlNoYWRvd0VsZW1l
bnQuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCiB1c2luZyBzdGQ6Om1pbjsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwotCiBzdGF0
aWMgY29uc3QgaW50IGRlZmF1bHRUcmFja0xlbmd0aCA9IDEyOTsKIAogLy8gUmV0dXJucyBhIHZh
bHVlIGJldHdlZW4gMCBhbmQgMS4KQEAgLTU1LDcgKzUzLDcgQEAgc3RhdGljIGRvdWJsZSBzbGlk
ZXJQb3NpdGlvbihIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogfQogCiAvLyBGSVhNRTogQ291
bGQgc2hhcmUgY29kZSB3aXRoIHRoZSBTbGlkZXJEaXZFbGVtZW50IGNsYXNzIGluIFJlbmRlclBy
b2dyZXNzLgotY2xhc3MgU2xpZGVyVGh1bWJFbGVtZW50IDogcHVibGljIEhUTUxEaXZFbGVtZW50
IHsKK2NsYXNzIFNsaWRlclRodW1iRWxlbWVudCA6IHB1YmxpYyBTaGFkb3dCbG9ja0VsZW1lbnQg
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNsaWRlclRodW1iRWxlbWVudD4gY3Jl
YXRlKE5vZGUqIHNoYWRvd1BhcmVudCk7CiAKQEAgLTY3LDE3ICs2NSwxMiBAQCBwdWJsaWM6CiBw
cml2YXRlOiAgICAgICAgCiAgICAgU2xpZGVyVGh1bWJFbGVtZW50KE5vZGUqIHNoYWRvd1BhcmVu
dCk7CiAgICAgCi0gICAgdmlydHVhbCBib29sIGlzU2hhZG93Tm9kZSgpIGNvbnN0IHsgcmV0dXJu
IHRydWU7IH0KLSAgICB2aXJ0dWFsIE5vZGUqIHNoYWRvd1BhcmVudE5vZGUoKSB7IHJldHVybiBt
X3NoYWRvd1BhcmVudDsgfQotCiAgICAgRmxvYXRQb2ludCBtX29mZnNldFRvVGh1bWI7Ci0gICAg
Tm9kZSogbV9zaGFkb3dQYXJlbnQ7CiAgICAgYm9vbCBtX2luRHJhZ01vZGU7CiB9OwogCiBpbmxp
bmUgU2xpZGVyVGh1bWJFbGVtZW50OjpTbGlkZXJUaHVtYkVsZW1lbnQoTm9kZSogc2hhZG93UGFy
ZW50KQotICAgIDogSFRNTERpdkVsZW1lbnQoZGl2VGFnLCBzaGFkb3dQYXJlbnQtPmRvY3VtZW50
KCkpCi0gICAgLCBtX3NoYWRvd1BhcmVudChzaGFkb3dQYXJlbnQpCisgICAgOiBTaGFkb3dCbG9j
a0VsZW1lbnQoc2hhZG93UGFyZW50KQogICAgICwgbV9pbkRyYWdNb2RlKGZhbHNlKQogewogfQpA
QCAtOTAsNyArODMsNyBAQCBpbmxpbmUgUGFzc1JlZlB0cjxTbGlkZXJUaHVtYkVsZW1lbnQ+IFNs
aWRlclRodW1iRWxlbWVudDo6Y3JlYXRlKE5vZGUqIHNoYWRvd1Bhcgogdm9pZCBTbGlkZXJUaHVt
YkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogewogICAgIGlmICgh
ZXZlbnQtPmlzTW91c2VFdmVudCgpKSB7Ci0gICAgICAgIEhUTUxEaXZFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKGV2ZW50KTsKKyAgICAgICAgU2hhZG93QmxvY2tFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKGV2ZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTE0LDcg
KzEwNyw3IEBAIHZvaWQgU2xpZGVyVGh1bWJFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2
ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBtX2luRHJh
Z01vZGUgPSB0cnVlOwotICAgICAgICAgICAgICAgIGRvY3VtZW50KCktPmZyYW1lKCktPmV2ZW50
SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUobV9zaGFkb3dQYXJlbnQpOwor
ICAgICAgICAgICAgICAgIGRvY3VtZW50KCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5zZXRD
YXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoc2hhZG93UGFyZW50Tm9kZSgpKTsKICAgICAgICAgICAg
ICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgICAgICB9CkBAIC0xNDAsNyArMTMzLDcgQEAgdm9pZCBTbGlkZXJUaHVtYkVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogICAgICAgICB9CiAgICAgfQog
Ci0gICAgSFRNTERpdkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOworICAgIFNo
YWRvd0Jsb2NrRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CiB9CiAKIHZvaWQg
U2xpZGVyVGh1bWJFbGVtZW50OjpkZXRhY2goKQpAQCAtMTQ5LDcgKzE0Miw3IEBAIHZvaWQgU2xp
ZGVyVGh1bWJFbGVtZW50OjpkZXRhY2goKQogICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9j
dW1lbnQoKS0+ZnJhbWUoKSkKICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2V0
Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKDApOyAgICAgIAogICAgIH0KLSAgICBIVE1MRGl2RWxl
bWVudDo6ZGV0YWNoKCk7CisgICAgU2hhZG93QmxvY2tFbGVtZW50OjpkZXRhY2goKTsKIH0KIAog
UmVuZGVyU2xpZGVyOjpSZW5kZXJTbGlkZXIoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NoYWRvd0VsZW1lbnQuY3BwIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvU2hhZG93RWxlbWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRmYTUxZjlhZDNiOWFkZmE0
NzNjZTc4ZjE2ZjUzZGJiYWJjOTIxYwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1NoYWRvd0VsZW1lbnQuY3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNoYWRvd0VsZW1lbnQu
aCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNz
UmVmUHRyPFNoYWRvd0Jsb2NrRWxlbWVudD4gU2hhZG93QmxvY2tFbGVtZW50OjpjcmVhdGUoTm9k
ZSogc2hhZG93UGFyZW50KQoreworICAgIHJldHVybiBuZXcgU2hhZG93QmxvY2tFbGVtZW50KHNo
YWRvd1BhcmVudCk7Cit9CisKK1NoYWRvd0Jsb2NrRWxlbWVudDo6U2hhZG93QmxvY2tFbGVtZW50
KE5vZGUqIHNoYWRvd1BhcmVudCkKKyAgICA6IFNoYWRvd0VsZW1lbnQ8SFRNTERpdkVsZW1lbnQ+
KEhUTUxOYW1lczo6ZGl2VGFnLCBzaGFkb3dQYXJlbnQpCit7Cit9CisKK1Bhc3NSZWZQdHI8U2hh
ZG93SW5wdXRFbGVtZW50PiBTaGFkb3dJbnB1dEVsZW1lbnQ6OmNyZWF0ZShOb2RlKiBzaGFkb3dQ
YXJlbnQpCit7CisgICAgcmV0dXJuIG5ldyBTaGFkb3dJbnB1dEVsZW1lbnQoc2hhZG93UGFyZW50
KTsKK30KKworU2hhZG93SW5wdXRFbGVtZW50OjpTaGFkb3dJbnB1dEVsZW1lbnQoTm9kZSogc2hh
ZG93UGFyZW50KQorICAgIDogU2hhZG93RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PihIVE1MTmFt
ZXM6OmlucHV0VGFnLCBzaGFkb3dQYXJlbnQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NoYWRvd0VsZW1lbnQuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1NoYWRvd0VsZW1lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDJlODNmMTI4MjRjNDVm
M2FhODZlMmUwODc4YmE3MThhZjNmOTI5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvU2hhZG93RWxlbWVudC5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIs
IEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgU2hhZG93RWxlbWVudF9oCisjZGVmaW5lIFNoYWRvd0VsZW1lbnRfaAorCisjaW5jbHVkZSAi
SFRNTERpdkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKwordGVtcGxhdGU8Y2xhc3MgQmFzZUVsZW1lbnQ+CitjbGFzcyBTaGFk
b3dFbGVtZW50IDogcHVibGljIEJhc2VFbGVtZW50IHsKK3Byb3RlY3RlZDoKKyAgICBTaGFkb3dF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIE5vZGUqIHNoYWRvd1BhcmVudCkKKyAg
ICAgICAgOiBCYXNlRWxlbWVudChuYW1lLCBzaGFkb3dQYXJlbnQtPmRvY3VtZW50KCkpCisgICAg
ICAgICwgbV9zaGFkb3dQYXJlbnQoc2hhZG93UGFyZW50KQorICAgIHt9CisKKyAgICB2aXJ0dWFs
IGJvb2wgaXNTaGFkb3dOb2RlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwg
Tm9kZSogc2hhZG93UGFyZW50Tm9kZSgpIHsgcmV0dXJuIG1fc2hhZG93UGFyZW50OyB9CisKK3By
aXZhdGU6CisgICAgTm9kZSogbV9zaGFkb3dQYXJlbnQ7Cit9OworCitjbGFzcyBTaGFkb3dCbG9j
a0VsZW1lbnQgOiBwdWJsaWMgU2hhZG93RWxlbWVudDxIVE1MRGl2RWxlbWVudD4geworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd0Jsb2NrRWxlbWVudD4gY3JlYXRlKE5vZGUq
KTsKK3Byb3RlY3RlZDoKKyAgICBTaGFkb3dCbG9ja0VsZW1lbnQoTm9kZSopOworfTsKKworY2xh
c3MgU2hhZG93SW5wdXRFbGVtZW50IDogcHVibGljIFNoYWRvd0VsZW1lbnQ8SFRNTElucHV0RWxl
bWVudD4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd0lucHV0RWxlbWVu
dD4gY3JlYXRlKE5vZGUqKTsKK3Byb3RlY3RlZDoKKyAgICBTaGFkb3dJbnB1dEVsZW1lbnQoTm9k
ZSopOworfTsKKworfSAvL25hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBTaGFkb3dFbGVt
ZW50X2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58335</attachid>
            <date>2010-06-09 23:55:20 -0700</date>
            <delta_ts>2010-06-10 00:25:18 -0700</delta_ts>
            <desc>patch v1; fixed style violation</desc>
            <filename>bug-40400-20100610155518.patch</filename>
            <type>text/plain</type>
            <size>21026</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGRiNGY4ZTdkYWExY2Q2MzgyMjU2N2ZjYTQ0ZmE5ODExZDRjZDAxZTkuLmYxM2Ni
NzJiZGY5YTFmOTAyODFhYjhjNjFiNzU4NzM4YjZkNTkzMDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTMzMiw2ICsx
MzMyLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHJlbmRlcmluZy9SZW5kZXJXb3JkQnJl
YWsuY3BwCiAgICAgcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCiAgICAgcmVuZGVyaW5nL1Nj
cm9sbEJlaGF2aW9yLmNwcAorICAgIHJlbmRlcmluZy9TaGFkb3dFbGVtZW50LmNwcAogICAgIHJl
bmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCiAgICAgcmVuZGVyaW5nL1RyYW5z
Zm9ybVN0YXRlLmNwcAogICAgIHJlbmRlcmluZy9icmVha19saW5lcy5jcHAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRlYTgzYjczN2Vi
ZTYwYmJhODRmZDBkYmVmMWNmYWY1OTZkOTNkNy4uNGNlMDQ5YmRiMzgyYjZiY2FkODdmOWIyMzkz
ZDk3ZWM1YmFmZDc0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMC0wNi0wOSAgTU9SSVRBIEhhamltZSAg
PG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZWZhY3RvcmluZzogU2ltcGxlIHNoYWRvdyBlbGVtZW50cyBzaG91bGQg
YmUgZmFjdG9yZWQgb3V0IC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQwNDAwCisgICAgICAgIAorICAgICAgICBQdWxsZWQgU2hhZG93RWxlbWVudCBj
bGFzcyB1cCBmcm9tIFNsaWRlclRodW1iRWxlbWVudCwKKyAgICAgICAgUHJvZ3Jlc3NWYWx1ZUVs
ZW1lbnQsIFNoYWRvd0lucHV0RWxlbWVudC4gCisgICAgICAgIEFuZCByZW5hbWVkIFByb2dyZXNz
VmFsdWVFbGVtZW50IHRvIFNoYWRvd0Jsb2NrRWxlbWVudC4KKworICAgICAgICBObyBuZXcgdGVz
dHMuIEJlY2F1c2UgdGhlcmUgaXMgbm8gZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclByb2dyZXNzOjp1cGRhdGVWYWx1ZVBhcnRTdGF0ZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclByb2dyZXNzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OlNsaWRlclRodW1i
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2xpZGVyVGh1bWJFbGVtZW50OjpkZXRh
Y2gpOgorICAgICAgICAqIHJlbmRlcmluZy9TaGFkb3dFbGVtZW50LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dCbG9ja0VsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTaGFkb3dCbG9ja0VsZW1lbnQ6OlNoYWRvd0Jsb2NrRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dJbnB1dEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
aGFkb3dJbnB1dEVsZW1lbnQ6OlNoYWRvd0lucHV0RWxlbWVudCk6CisgICAgICAgICogcmVuZGVy
aW5nL1NoYWRvd0VsZW1lbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dFbGVt
ZW50OjpTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0VsZW1lbnQ6Omlz
U2hhZG93Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dFbGVtZW50OjpzaGFkb3dQYXJl
bnROb2RlKToKKwogMjAxMC0wNi0wOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYzQ1MDkw
NmE5MTRlYWNmNGU1YjZlZTFlYTNkYTdiN2MyNDVhNTJlMy4uMzIyYWFlMGM2NjIyMTE2M2M3Y2Jm
MDBlYmM3NDg3ZDY4OGRiMDNmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQor
KysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMDE1LDYgKzIwMTUsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaCBcCiAJV2Vi
Q29yZS9yZW5kZXJpbmcvU2Nyb2xsQmVoYXZpb3IuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9T
Y3JvbGxCZWhhdmlvci5oIFwKKwlXZWJDb3JlL3JlbmRlcmluZy9TaGFkb3dFbGVtZW50LmNwcCBc
CisJV2ViQ29yZS9yZW5kZXJpbmcvU2hhZG93RWxlbWVudC5oIFwKIAlXZWJDb3JlL3JlbmRlcmlu
Zy9UYWJsZUxheW91dC5oIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxl
bWVudHMuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMu
aCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDRiZThjOWY5MjA1OTFhN2QyZTJiMDhhYmRkN2NjNjg1YzJkMjRlM2YuLmRjMzQ5
ZmEwMWVmYjMxODc3OWFjMGRlMzBkNDdiY2YzNDNlMTZlZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMzExLDYgKzMzMTEs
OCBAQAogICAgICAgICAgICAgJ3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgnLAogICAgICAgICAg
ICAgJ3JlbmRlcmluZy9TY3JvbGxCZWhhdmlvci5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmlu
Zy9TY3JvbGxCZWhhdmlvci5oJywKKyAgICAgICAgICAgICdyZW5kZXJpbmcvU2hhZG93RWxlbWVu
dC5jcHAnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9TaGFkb3dFbGVtZW50LmgnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9TVkdDaGFyYWN0ZXJEYXRhLmNwcCcsCiAgICAgICAgICAgICAncmVu
ZGVyaW5nL1NWR0NoYXJhY3RlckRhdGEuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL1NWR0No
YXJhY3RlckxheW91dEluZm8uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8g
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDlhZjVhZjc4N2NkZWQwZGJlMzQzOTRkNTQyMDE1
YjIxYTQ3NjgxNTkuLmUwYmY4YTk2ZTYyMTE2NTNkYjI4NDZkYzQyMjAzMDVhNzM2Yzg3ZTIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpA
QCAtOTg2LDYgKzk4Niw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJlbmRlcmluZy9Sb290SW5saW5l
Qm94LmNwcCBcCiAgICAgcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwIFwKICAgICBy
ZW5kZXJpbmcvU2Nyb2xsQmVoYXZpb3IuY3BwIFwKKyAgICByZW5kZXJpbmcvU2hhZG93RWxlbWVu
dC5jcHAgXAogICAgIHJlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwIFwKICAg
ICByZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuY3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvQmlu
ZGluZ1VSSS5jcHAgXApAQCAtMTgwMCw2ICsxODAxLDcgQEAgSEVBREVSUyArPSBcCiAgICAgcmVu
ZGVyaW5nL1JlbmRlcldvcmRCcmVhay5oIFwKICAgICByZW5kZXJpbmcvUm9vdElubGluZUJveC5o
IFwKICAgICByZW5kZXJpbmcvU2Nyb2xsQmVoYXZpb3IuaCBcCisgICAgcmVuZGVyaW5nL1NoYWRv
d0VsZW1lbnQuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL0JpbmRpbmdVUkkuaCBcCiAgICAgcmVu
ZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmggXAogICAgIHJlbmRlcmluZy9zdHlsZS9Db3VudGVy
RGlyZWN0aXZlcy5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDg3
YzY1MzQwN2M1MmMwMTRmOGY2NGM5ZTM1ZTRmYjkwMjYxOTkzNzEuLmNjNjk2NzM0ZjhlMzk0Y2Vh
YjU3MGE2ZTU5OTBiZjY0NzVlODNjNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjg4NTUsNiArMjg4NTUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFNoYWRvd0VsZW1lbnQuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVu
ZGVyaW5nXFNoYWRvd0VsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xTVkdDaGFyYWN0ZXJEYXRhLmNwcCINCiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDA4MzA1ZjJiZDEwYzJkNWExOGRjMjUzNWFhZGNkMWI4YThmMDc5NjAuLjg5Yzg2
YTJkY2RjY2U5MDVjYTlkZDM1YTUwZDU5NWM1Njg3NzNhOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjQ4LDYgKzI2NDgsOCBAQAogCQlBN0QzQzUy
NDBCNTc2QjRCMDAyQ0E0NTAgLyogUGFzdGVib2FyZEhlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEM0M1MjMwQjU3NkI0QjAwMkNBNDUwIC8q
IFBhc3RlYm9hcmRIZWxwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlBN0Q2QjM0OTBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9h
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q2
QjM0NzBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9hZGVyLmggKi87IH07CiAJCUE3
RDZCMzRBMEY2MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdENkIzNDgwRjYxMTA0NTAw
Qjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5jcHAgKi87IH07CisJCUE3RTVEMUQxMTFDMEFF
MjUwMDBBMzM4RSAvKiBTaGFkb3dFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTVEMUNGMTFDMEFFMjUwMDBBMzM4RSAvKiBTaGFkb3dF
bGVtZW50LmNwcCAqLzsgfTsKKwkJQTdFNUQxRDIxMUMwQUUyNTAwMEEzMzhFIC8qIFNoYWRvd0Vs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
RTVEMUQwMTFDMEFFMjUwMDBBMzM4RSAvKiBTaGFkb3dFbGVtZW50LmggKi87IH07CiAJCUE4MDlG
MTQ3MEI3Mzc5M0EwMDJFNEQ3RiAvKiBSZW5kZXJTVkdHcmFkaWVudFN0b3AuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MDlGMTQ1MEI3Mzc5M0EwMDJF
NEQ3RiAvKiBSZW5kZXJTVkdHcmFkaWVudFN0b3AuaCAqLzsgfTsKIAkJQTgwOUYxNDgwQjczNzkz
QjAwMkU0RDdGIC8qIFJlbmRlclNWR0dyYWRpZW50U3RvcC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODA5RjE0NjBCNzM3OTNBMDAyRTREN0YgLyog
UmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcCAqLzsgfTsKIAkJQTgwOUYxQUEwQjczN0ZCNjAwMkU0
RDdGIC8qIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTgwOUYxQTgwQjczN0ZCNjAwMkU0RDdGIC8qIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lci5oICovOyB9OwpAQCAtODI1MCw2ICs4MjUyLDggQEAKIAkJQTdE
M0M1MjMwQjU3NkI0QjAwMkNBNDUwIC8qIFBhc3RlYm9hcmRIZWxwZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzdGVib2FyZEhlbHBlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBN0Q2QjM0NzBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9h
ZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdvcmtlclNjcmlwdExvYWRl
ci5oOyBwYXRoID0gd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTdENkIzNDgwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExv
YWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwOyBwYXRoID0gd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0U1RDFDRjExQzBBRTI1MDAwQTMzOEUgLyogU2hh
ZG93RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFk
b3dFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdFNUQxRDAxMUMw
QUUyNTAwMEEzMzhFIC8qIFNoYWRvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2hhZG93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
ODA5RjE0NTBCNzM3OTNBMDAyRTREN0YgLyogUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0dyYWRpZW50U3RvcC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODA5RjE0NjBCNzM3OTNBMDAyRTREN0YgLyogUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlclNWR0dyYWRpZW50U3RvcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4MDlGMUE4MEI3MzdGQjYwMDJFNEQ3RiAvKiBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjMwNCw2ICsxNjMwOCw4IEBA
CiAJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVDQSAvKiByZW5kZXJpbmcgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUE3RTVEMUNGMTFDMEFFMjUwMDBBMzM4
RSAvKiBTaGFkb3dFbGVtZW50LmNwcCAqLywKKwkJCQlBN0U1RDFEMDExQzBBRTI1MDAwQTMzOEUg
LyogU2hhZG93RWxlbWVudC5oICovLAogCQkJCUJDOEM4RkFBMEREQ0QyRjIwMEI1OTJGNCAvKiBz
dHlsZSAqLywKIAkJCQlBOENGRjA0QjBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxlTGF5b3V0
LmNwcCAqLywKIAkJCQlBOENGRjA0OTBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxlTGF5b3V0
LmggKi8sCkBAIC0xOTQ1Miw2ICsxOTQ1OCw3IEBACiAJCQkJNEYxNTM0REUxMUI1MzJFQzAwMjFG
RDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEYxNTM0RTAxMUI1
MzMwMjAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvclR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGOThGRkY0NTExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQTdFNUQxRDIxMUMwQUUyNTAwMEEzMzhFIC8qIFNoYWRvd0VsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtMjE3NTUsNiArMjE3NjIsNyBAQAogCQkJCUE3QkJFMjY2MTFBRkIzRjIwMDA1
RUEwMyAvKiBKU0hUTUxNZXRlckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjZCMDU0
MDkxMUI2OEYxMDAwMjU2NEM1IC8qIElEQk9iamVjdFN0b3JlSW1wbC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGOThGRkY0NDExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlBN0U1RDFEMTExQzBBRTI1MDAwQTMzOEUgLyogU2hhZG93RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRD
b250cm9sLmNwcAppbmRleCBkNGQ3M2JjZWJmNmNmMjQwYjcwYzA4NGY1OGY4OGQ0Y2MzZTE4OWJi
Li41MTI1ZWQ1NGVkYTNlYWM1MDU3MTJlMDg4NGIwOTU1YWYwOGQwZGY2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCkBAIC0yNyw3ICsyNyw3IEBA
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAj
aW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2lu
Y2x1ZGUgIlNoYWRvd0VsZW1lbnQuaCIKICNpbmNsdWRlICJJY29uLmgiCiAjaW5jbHVkZSAiTG9j
YWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTUwLDMwICs1MCw2IEBAIGNv
bnN0IGludCBpY29uRmlsZW5hbWVTcGFjaW5nID0gMjsKIGNvbnN0IGludCBkZWZhdWx0V2lkdGhO
dW1DaGFycyA9IDM0OwogY29uc3QgaW50IGJ1dHRvblNoYWRvd0hlaWdodCA9IDI7CiAKLWNsYXNz
IFNoYWRvd0lucHV0RWxlbWVudCA6IHB1YmxpYyBIVE1MSW5wdXRFbGVtZW50IHsKLXB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dJbnB1dEVsZW1lbnQ+IGNyZWF0ZShOb2RlKiBz
aGFkb3dQYXJlbnQpOwotCi1wcml2YXRlOgotICAgIFNoYWRvd0lucHV0RWxlbWVudChOb2RlKiBz
aGFkb3dQYXJlbnQpOwotCi0gICAgdmlydHVhbCBib29sIGlzU2hhZG93Tm9kZSgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIE5vZGUqIHNoYWRvd1BhcmVudE5vZGUoKSB7IHJl
dHVybiBtX3NoYWRvd1BhcmVudDsgfQotCi0gICAgTm9kZSogbV9zaGFkb3dQYXJlbnQ7ICAgIAot
fTsKLQotaW5saW5lIFNoYWRvd0lucHV0RWxlbWVudDo6U2hhZG93SW5wdXRFbGVtZW50KE5vZGUq
IHNoYWRvd1BhcmVudCkKLSAgICA6IEhUTUxJbnB1dEVsZW1lbnQoaW5wdXRUYWcsIHNoYWRvd1Bh
cmVudC0+ZG9jdW1lbnQoKSkKLSAgICAsIG1fc2hhZG93UGFyZW50KHNoYWRvd1BhcmVudCkKLXsK
LX0KLQotaW5saW5lIFBhc3NSZWZQdHI8U2hhZG93SW5wdXRFbGVtZW50PiBTaGFkb3dJbnB1dEVs
ZW1lbnQ6OmNyZWF0ZShOb2RlKiBzaGFkb3dQYXJlbnQpCi17Ci0gICAgcmV0dXJuIG5ldyBTaGFk
b3dJbnB1dEVsZW1lbnQoc2hhZG93UGFyZW50KTsKLX0KLQogUmVuZGVyRmlsZVVwbG9hZENvbnRy
b2w6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0KQogICAg
IDogUmVuZGVyQmxvY2soaW5wdXQpCiAgICAgLCBtX2J1dHRvbigwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IGFjM2ZiMTU4NWNhZDY0ZDc2OWQ4NmY5NDI2MmUyMDczMWI0
MGExNmYuLjI3YmUzYjA1YmZmMmNjMjQyOTQ4MGMyMTRkYWJlY2ZlMzg5NDZlMzcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKQEAgLTIzLDggKzIzLDcgQEAKICNpZiBFTkFCTEUo
UFJPR1JFU1NfVEFHKQogCiAjaW5jbHVkZSAiUmVuZGVyUHJvZ3Jlc3MuaCIKLQotI2luY2x1ZGUg
IkhUTUxEaXZFbGVtZW50LmgiCisjaW5jbHVkZSAiU2hhZG93RWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxQcm9ncmVzc0VsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKQEAgLTM1LDMyICszNCw2IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQot
Y2xhc3MgUHJvZ3Jlc3NWYWx1ZUVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgewotcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFByb2dyZXNzVmFsdWVFbGVtZW50PiBjcmVhdGUo
Tm9kZSogc2hhZG93UGFyZW50KTsKLQotcHJpdmF0ZTogICAgICAgIAotICAgIFByb2dyZXNzVmFs
dWVFbGVtZW50KE5vZGUqIHNoYWRvd1BhcmVudCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNTaGFk
b3dOb2RlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgTm9kZSogc2hhZG93
UGFyZW50Tm9kZSgpIHsgcmV0dXJuIG1fc2hhZG93UGFyZW50OyB9Ci0KLSAgICBOb2RlKiBtX3No
YWRvd1BhcmVudDsKLX07Ci0KLWlubGluZSBQcm9ncmVzc1ZhbHVlRWxlbWVudDo6UHJvZ3Jlc3NW
YWx1ZUVsZW1lbnQoTm9kZSogc2hhZG93UGFyZW50KQotICAgIDogSFRNTERpdkVsZW1lbnQoZGl2
VGFnLCBzaGFkb3dQYXJlbnQtPmRvY3VtZW50KCkpCi0gICAgLCBtX3NoYWRvd1BhcmVudChzaGFk
b3dQYXJlbnQpCi17Ci19Ci0KLWlubGluZSBQYXNzUmVmUHRyPFByb2dyZXNzVmFsdWVFbGVtZW50
PiBQcm9ncmVzc1ZhbHVlRWxlbWVudDo6Y3JlYXRlKE5vZGUqIHNoYWRvd1BhcmVudCkKLXsKLSAg
ICByZXR1cm4gbmV3IFByb2dyZXNzVmFsdWVFbGVtZW50KHNoYWRvd1BhcmVudCk7Ci19Ci0KIFJl
bmRlclByb2dyZXNzOjpSZW5kZXJQcm9ncmVzcyhIVE1MUHJvZ3Jlc3NFbGVtZW50KiBlbGVtZW50
KQogICAgIDogUmVuZGVyQmxvY2soZWxlbWVudCkKICAgICAsIG1fcG9zaXRpb24oLTEpCkBAIC0x
NDQsNyArMTE3LDcgQEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlVmFsdWVQYXJ0U3RhdGUo
KQogewogICAgIGJvb2wgbmVlZExheW91dCA9ICFzdHlsZSgpLT5oYXNBcHBlYXJhbmNlKCkgfHwg
bV92YWx1ZVBhcnQ7CiAgICAgaWYgKCFzdHlsZSgpLT5oYXNBcHBlYXJhbmNlKCkgJiYgIW1fdmFs
dWVQYXJ0KSB7Ci0gICAgICAgIG1fdmFsdWVQYXJ0ID0gUHJvZ3Jlc3NWYWx1ZUVsZW1lbnQ6OmNy
ZWF0ZShub2RlKCkpOworICAgICAgICBtX3ZhbHVlUGFydCA9IFNoYWRvd0Jsb2NrRWxlbWVudDo6
Y3JlYXRlKG5vZGUoKSk7CiAgICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JWYWx1
ZVBhcnQgPSBjcmVhdGVTdHlsZUZvclZhbHVlUGFydChzdHlsZSgpKTsKICAgICAgICAgbV92YWx1
ZVBhcnQtPnNldFJlbmRlcmVyKG1fdmFsdWVQYXJ0LT5jcmVhdGVSZW5kZXJlcihyZW5kZXJBcmVu
YSgpLCBzdHlsZUZvclZhbHVlUGFydC5nZXQoKSkpOwogICAgICAgICBtX3ZhbHVlUGFydC0+cmVu
ZGVyZXIoKS0+c2V0U3R5bGUoc3R5bGVGb3JWYWx1ZVBhcnQucmVsZWFzZSgpKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJQcm9ncmVzcy5oCmluZGV4IDExMzdlOTlmNzk1YmYyZWQ3YmFkMTUzYjY0YjIzZjc4
OTBkNTkzZTIuLjRkMWE4OGY1NjRlZTQwN2FhNjg2NjViNmY2MDJhZWU0OTM5ZTY4ZGEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaApAQCAtMjcsNyArMjcsNyBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBIVE1MUHJvZ3Jlc3NFbGVtZW50OwotY2xhc3MgUHJvZ3Jlc3NWYWx1
ZUVsZW1lbnQ7CitjbGFzcyBTaGFkb3dCbG9ja0VsZW1lbnQ7CiAKIGNsYXNzIFJlbmRlclByb2dy
ZXNzIDogcHVibGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKQEAgLTYzLDcgKzYzLDcgQEAgcHJp
dmF0ZToKICAgICBkb3VibGUgbV9hbmltYXRpb25EdXJhdGlvbjsKICAgICBib29sIG1fYW5pbWF0
aW5nOwogICAgIFRpbWVyPFJlbmRlclByb2dyZXNzPiBtX2FuaW1hdGlvblRpbWVyOwotICAgIFJl
ZlB0cjxQcm9ncmVzc1ZhbHVlRWxlbWVudD4gbV92YWx1ZVBhcnQ7CisgICAgUmVmUHRyPFNoYWRv
d0Jsb2NrRWxlbWVudD4gbV92YWx1ZVBhcnQ7CiB9OwogCiBpbmxpbmUgUmVuZGVyUHJvZ3Jlc3Mq
IHRvUmVuZGVyUHJvZ3Jlc3MoUmVuZGVyT2JqZWN0KiBvYmplY3QpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U2xpZGVyLmNwcAppbmRleCAzMjRkMWZkZTkzOTZiY2I1MzhlMzFhM2IxYzg5YzBkZTVkYjNjY2Fl
Li43ODk2NGE2OTA3ODQ5OTU4YWQxNTBlZWYzOTVkZmJkMjA4OTA0NmYxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNsaWRlci5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCi0j
aW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNs
dWRlICJIVE1MUGFyc2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sRWxlbWVudHMuaCIKQEAg
LTM2LDYgKzM1LDcgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRl
clRoZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlNoYWRvd0VsZW1l
bnQuaCIKICNpbmNsdWRlICJTdGVwUmFuZ2UuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5o
PgogCkBAIC00Myw4ICs0Myw2IEBAIHVzaW5nIHN0ZDo6bWluOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KIHN0YXRpYyBjb25zdCBpbnQgZGVm
YXVsdFRyYWNrTGVuZ3RoID0gMTI5OwogCiAvLyBSZXR1cm5zIGEgdmFsdWUgYmV0d2VlbiAwIGFu
ZCAxLgpAQCAtNTUsNyArNTMsNyBAQCBzdGF0aWMgZG91YmxlIHNsaWRlclBvc2l0aW9uKEhUTUxJ
bnB1dEVsZW1lbnQqIGVsZW1lbnQpCiB9CiAKIC8vIEZJWE1FOiBDb3VsZCBzaGFyZSBjb2RlIHdp
dGggdGhlIFNsaWRlckRpdkVsZW1lbnQgY2xhc3MgaW4gUmVuZGVyUHJvZ3Jlc3MuCi1jbGFzcyBT
bGlkZXJUaHVtYkVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgeworY2xhc3MgU2xpZGVy
VGh1bWJFbGVtZW50IDogcHVibGljIFNoYWRvd0Jsb2NrRWxlbWVudCB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8U2xpZGVyVGh1bWJFbGVtZW50PiBjcmVhdGUoTm9kZSogc2hhZG93
UGFyZW50KTsKIApAQCAtNjcsMTcgKzY1LDEyIEBAIHB1YmxpYzoKIHByaXZhdGU6ICAgICAgICAK
ICAgICBTbGlkZXJUaHVtYkVsZW1lbnQoTm9kZSogc2hhZG93UGFyZW50KTsKICAgICAKLSAgICB2
aXJ0dWFsIGJvb2wgaXNTaGFkb3dOb2RlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZp
cnR1YWwgTm9kZSogc2hhZG93UGFyZW50Tm9kZSgpIHsgcmV0dXJuIG1fc2hhZG93UGFyZW50OyB9
Ci0KICAgICBGbG9hdFBvaW50IG1fb2Zmc2V0VG9UaHVtYjsKLSAgICBOb2RlKiBtX3NoYWRvd1Bh
cmVudDsKICAgICBib29sIG1faW5EcmFnTW9kZTsKIH07CiAKIGlubGluZSBTbGlkZXJUaHVtYkVs
ZW1lbnQ6OlNsaWRlclRodW1iRWxlbWVudChOb2RlKiBzaGFkb3dQYXJlbnQpCi0gICAgOiBIVE1M
RGl2RWxlbWVudChkaXZUYWcsIHNoYWRvd1BhcmVudC0+ZG9jdW1lbnQoKSkKLSAgICAsIG1fc2hh
ZG93UGFyZW50KHNoYWRvd1BhcmVudCkKKyAgICA6IFNoYWRvd0Jsb2NrRWxlbWVudChzaGFkb3dQ
YXJlbnQpCiAgICAgLCBtX2luRHJhZ01vZGUoZmFsc2UpCiB7CiB9CkBAIC05MCw3ICs4Myw3IEBA
IGlubGluZSBQYXNzUmVmUHRyPFNsaWRlclRodW1iRWxlbWVudD4gU2xpZGVyVGh1bWJFbGVtZW50
OjpjcmVhdGUoTm9kZSogc2hhZG93UGFyCiB2b2lkIFNsaWRlclRodW1iRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKCFldmVudC0+aXNNb3VzZUV2
ZW50KCkpIHsKLSAgICAgICAgSFRNTERpdkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZl
bnQpOworICAgICAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZl
bnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMTQsNyArMTA3LDcgQEAgdm9pZCBT
bGlkZXJUaHVtYkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogICAg
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIG1faW5EcmFnTW9kZSA9IHRydWU7Ci0g
ICAgICAgICAgICAgICAgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnNldENh
cHR1cmluZ01vdXNlRXZlbnRzTm9kZShtX3NoYWRvd1BhcmVudCk7CisgICAgICAgICAgICAgICAg
ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01vdXNlRXZl
bnRzTm9kZShzaGFkb3dQYXJlbnROb2RlKCkpOwogICAgICAgICAgICAgICAgIGV2ZW50LT5zZXRE
ZWZhdWx0SGFuZGxlZCgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0K
QEAgLTE0MCw3ICsxMzMsNyBAQCB2b2lkIFNsaWRlclRodW1iRWxlbWVudDo6ZGVmYXVsdEV2ZW50
SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBIVE1MRGl2RWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CisgICAgU2hhZG93QmxvY2tFbGVtZW50
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKIH0KIAogdm9pZCBTbGlkZXJUaHVtYkVsZW1l
bnQ6OmRldGFjaCgpCkBAIC0xNDksNyArMTQyLDcgQEAgdm9pZCBTbGlkZXJUaHVtYkVsZW1lbnQ6
OmRldGFjaCgpCiAgICAgICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgp
KQogICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdNb3VzZUV2
ZW50c05vZGUoMCk7ICAgICAgCiAgICAgfQotICAgIEhUTUxEaXZFbGVtZW50OjpkZXRhY2goKTsK
KyAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRldGFjaCgpOwogfQogCiBSZW5kZXJTbGlkZXI6OlJl
bmRlclNsaWRlcihIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvU2hhZG93RWxlbWVudC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9TaGFkb3dF
bGVtZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWE5MjMzMzE3ODk2ODBkM2M3ZWZmNWIwZTg2NDI2MGNj
NzRkZDg0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU2hhZG93RWxlbWVu
dC5jcHAKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2hhZG93RWxlbWVudC5oIgorCisjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxTaGFkb3dC
bG9ja0VsZW1lbnQ+IFNoYWRvd0Jsb2NrRWxlbWVudDo6Y3JlYXRlKE5vZGUqIHNoYWRvd1BhcmVu
dCkKK3sKKyAgICByZXR1cm4gbmV3IFNoYWRvd0Jsb2NrRWxlbWVudChzaGFkb3dQYXJlbnQpOwor
fQorCitTaGFkb3dCbG9ja0VsZW1lbnQ6OlNoYWRvd0Jsb2NrRWxlbWVudChOb2RlKiBzaGFkb3dQ
YXJlbnQpCisgICAgOiBTaGFkb3dFbGVtZW50PEhUTUxEaXZFbGVtZW50PihIVE1MTmFtZXM6OmRp
dlRhZywgc2hhZG93UGFyZW50KQoreworfQorCitQYXNzUmVmUHRyPFNoYWRvd0lucHV0RWxlbWVu
dD4gU2hhZG93SW5wdXRFbGVtZW50OjpjcmVhdGUoTm9kZSogc2hhZG93UGFyZW50KQoreworICAg
IHJldHVybiBuZXcgU2hhZG93SW5wdXRFbGVtZW50KHNoYWRvd1BhcmVudCk7Cit9CisKK1NoYWRv
d0lucHV0RWxlbWVudDo6U2hhZG93SW5wdXRFbGVtZW50KE5vZGUqIHNoYWRvd1BhcmVudCkKKyAg
ICA6IFNoYWRvd0VsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oSFRNTE5hbWVzOjppbnB1dFRhZywg
c2hhZG93UGFyZW50KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9TaGFkb3dFbGVtZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9T
aGFkb3dFbGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTAwMzBlZTM1MzkwZWM0YmZhMTE0MjliYTg2YWM3
OGM0YWU2NmM4NAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NoYWRvd0Vs
ZW1lbnQuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5
LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUi
KSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNoYWRvd0VsZW1l
bnRfaAorI2RlZmluZSBTaGFkb3dFbGVtZW50X2gKKworI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50
LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK3RlbXBsYXRlPGNsYXNzIEJhc2VFbGVtZW50PgorY2xhc3MgU2hhZG93RWxlbWVudCA6IHB1
YmxpYyBCYXNlRWxlbWVudCB7Citwcm90ZWN0ZWQ6CisgICAgU2hhZG93RWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiBuYW1lLCBOb2RlKiBzaGFkb3dQYXJlbnQpCisgICAgICAgIDogQmFzZUVs
ZW1lbnQobmFtZSwgc2hhZG93UGFyZW50LT5kb2N1bWVudCgpKQorICAgICAgICAsIG1fc2hhZG93
UGFyZW50KHNoYWRvd1BhcmVudCkKKyAgICB7fQorCisgICAgdmlydHVhbCBib29sIGlzU2hhZG93
Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIE5vZGUqIHNoYWRvd1Bh
cmVudE5vZGUoKSB7IHJldHVybiBtX3NoYWRvd1BhcmVudDsgfQorCitwcml2YXRlOgorICAgIE5v
ZGUqIG1fc2hhZG93UGFyZW50OworfTsKKworY2xhc3MgU2hhZG93QmxvY2tFbGVtZW50IDogcHVi
bGljIFNoYWRvd0VsZW1lbnQ8SFRNTERpdkVsZW1lbnQ+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTaGFkb3dCbG9ja0VsZW1lbnQ+IGNyZWF0ZShOb2RlKik7Citwcm90ZWN0ZWQ6
CisgICAgU2hhZG93QmxvY2tFbGVtZW50KE5vZGUqKTsKK307CisKK2NsYXNzIFNoYWRvd0lucHV0
RWxlbWVudCA6IHB1YmxpYyBTaGFkb3dFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dJbnB1dEVsZW1lbnQ+IGNyZWF0ZShOb2Rl
Kik7Citwcm90ZWN0ZWQ6CisgICAgU2hhZG93SW5wdXRFbGVtZW50KE5vZGUqKTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFNoYWRvd0VsZW1lbnRfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58339</attachid>
            <date>2010-06-10 00:25:24 -0700</date>
            <delta_ts>2010-06-10 00:42:45 -0700</delta_ts>
            <desc>patch v2; sorted file order on project file</desc>
            <filename>bug-40400-20100610162522.patch</filename>
            <type>text/plain</type>
            <size>41381</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGRiNGY4ZTdkYWExY2Q2MzgyMjU2N2ZjYTQ0ZmE5ODExZDRjZDAxZTkuLmYxM2Ni
NzJiZGY5YTFmOTAyODFhYjhjNjFiNzU4NzM4YjZkNTkzMDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTMzMiw2ICsx
MzMyLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHJlbmRlcmluZy9SZW5kZXJXb3JkQnJl
YWsuY3BwCiAgICAgcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCiAgICAgcmVuZGVyaW5nL1Nj
cm9sbEJlaGF2aW9yLmNwcAorICAgIHJlbmRlcmluZy9TaGFkb3dFbGVtZW50LmNwcAogICAgIHJl
bmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCiAgICAgcmVuZGVyaW5nL1RyYW5z
Zm9ybVN0YXRlLmNwcAogICAgIHJlbmRlcmluZy9icmVha19saW5lcy5jcHAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRlYTgzYjczN2Vi
ZTYwYmJhODRmZDBkYmVmMWNmYWY1OTZkOTNkNy4uNGNlMDQ5YmRiMzgyYjZiY2FkODdmOWIyMzkz
ZDk3ZWM1YmFmZDc0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMC0wNi0wOSAgTU9SSVRBIEhhamltZSAg
PG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZWZhY3RvcmluZzogU2ltcGxlIHNoYWRvdyBlbGVtZW50cyBzaG91bGQg
YmUgZmFjdG9yZWQgb3V0IC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQwNDAwCisgICAgICAgIAorICAgICAgICBQdWxsZWQgU2hhZG93RWxlbWVudCBj
bGFzcyB1cCBmcm9tIFNsaWRlclRodW1iRWxlbWVudCwKKyAgICAgICAgUHJvZ3Jlc3NWYWx1ZUVs
ZW1lbnQsIFNoYWRvd0lucHV0RWxlbWVudC4gCisgICAgICAgIEFuZCByZW5hbWVkIFByb2dyZXNz
VmFsdWVFbGVtZW50IHRvIFNoYWRvd0Jsb2NrRWxlbWVudC4KKworICAgICAgICBObyBuZXcgdGVz
dHMuIEJlY2F1c2UgdGhlcmUgaXMgbm8gZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclByb2dyZXNzOjp1cGRhdGVWYWx1ZVBhcnRTdGF0ZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclByb2dyZXNzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OlNsaWRlclRodW1i
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2xpZGVyVGh1bWJFbGVtZW50OjpkZXRh
Y2gpOgorICAgICAgICAqIHJlbmRlcmluZy9TaGFkb3dFbGVtZW50LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dCbG9ja0VsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTaGFkb3dCbG9ja0VsZW1lbnQ6OlNoYWRvd0Jsb2NrRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dJbnB1dEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
aGFkb3dJbnB1dEVsZW1lbnQ6OlNoYWRvd0lucHV0RWxlbWVudCk6CisgICAgICAgICogcmVuZGVy
aW5nL1NoYWRvd0VsZW1lbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dFbGVt
ZW50OjpTaGFkb3dFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0VsZW1lbnQ6Omlz
U2hhZG93Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dFbGVtZW50OjpzaGFkb3dQYXJl
bnROb2RlKToKKwogMjAxMC0wNi0wOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYzQ1MDkw
NmE5MTRlYWNmNGU1YjZlZTFlYTNkYTdiN2MyNDVhNTJlMy4uMzIyYWFlMGM2NjIyMTE2M2M3Y2Jm
MDBlYmM3NDg3ZDY4OGRiMDNmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQor
KysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMDE1LDYgKzIwMTUsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaCBcCiAJV2Vi
Q29yZS9yZW5kZXJpbmcvU2Nyb2xsQmVoYXZpb3IuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9T
Y3JvbGxCZWhhdmlvci5oIFwKKwlXZWJDb3JlL3JlbmRlcmluZy9TaGFkb3dFbGVtZW50LmNwcCBc
CisJV2ViQ29yZS9yZW5kZXJpbmcvU2hhZG93RWxlbWVudC5oIFwKIAlXZWJDb3JlL3JlbmRlcmlu
Zy9UYWJsZUxheW91dC5oIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxl
bWVudHMuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMu
aCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDRiZThjOWY5MjA1OTFhN2QyZTJiMDhhYmRkN2NjNjg1YzJkMjRlM2YuLmRjMzQ5
ZmEwMWVmYjMxODc3OWFjMGRlMzBkNDdiY2YzNDNlMTZlZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMzExLDYgKzMzMTEs
OCBAQAogICAgICAgICAgICAgJ3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgnLAogICAgICAgICAg
ICAgJ3JlbmRlcmluZy9TY3JvbGxCZWhhdmlvci5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmlu
Zy9TY3JvbGxCZWhhdmlvci5oJywKKyAgICAgICAgICAgICdyZW5kZXJpbmcvU2hhZG93RWxlbWVu
dC5jcHAnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9TaGFkb3dFbGVtZW50LmgnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9TVkdDaGFyYWN0ZXJEYXRhLmNwcCcsCiAgICAgICAgICAgICAncmVu
ZGVyaW5nL1NWR0NoYXJhY3RlckRhdGEuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL1NWR0No
YXJhY3RlckxheW91dEluZm8uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8g
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDlhZjVhZjc4N2NkZWQwZGJlMzQzOTRkNTQyMDE1
YjIxYTQ3NjgxNTkuLmUwYmY4YTk2ZTYyMTE2NTNkYjI4NDZkYzQyMjAzMDVhNzM2Yzg3ZTIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpA
QCAtOTg2LDYgKzk4Niw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJlbmRlcmluZy9Sb290SW5saW5l
Qm94LmNwcCBcCiAgICAgcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwIFwKICAgICBy
ZW5kZXJpbmcvU2Nyb2xsQmVoYXZpb3IuY3BwIFwKKyAgICByZW5kZXJpbmcvU2hhZG93RWxlbWVu
dC5jcHAgXAogICAgIHJlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwIFwKICAg
ICByZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuY3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvQmlu
ZGluZ1VSSS5jcHAgXApAQCAtMTgwMCw2ICsxODAxLDcgQEAgSEVBREVSUyArPSBcCiAgICAgcmVu
ZGVyaW5nL1JlbmRlcldvcmRCcmVhay5oIFwKICAgICByZW5kZXJpbmcvUm9vdElubGluZUJveC5o
IFwKICAgICByZW5kZXJpbmcvU2Nyb2xsQmVoYXZpb3IuaCBcCisgICAgcmVuZGVyaW5nL1NoYWRv
d0VsZW1lbnQuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL0JpbmRpbmdVUkkuaCBcCiAgICAgcmVu
ZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmggXAogICAgIHJlbmRlcmluZy9zdHlsZS9Db3VudGVy
RGlyZWN0aXZlcy5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDg3
YzY1MzQwN2M1MmMwMTRmOGY2NGM5ZTM1ZTRmYjkwMjYxOTkzNzEuLmNjNjk2NzM0ZjhlMzk0Y2Vh
YjU3MGE2ZTU5OTBiZjY0NzVlODNjNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjg4NTUsNiArMjg4NTUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFNoYWRvd0VsZW1lbnQuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVu
ZGVyaW5nXFNoYWRvd0VsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xTVkdDaGFyYWN0ZXJEYXRhLmNwcCINCiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDA4MzA1ZjJiZDEwYzJkNWExOGRjMjUzNWFhZGNkMWI4YThmMDc5NjAuLmMzMDYz
NTk5NGY5ZmE5NjgyYjBkYzM0NzgyNDFjNDAxMTJhNjE0ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjQ4LDYgKzI2NDgsOCBAQAogCQlBN0QzQzUy
NDBCNTc2QjRCMDAyQ0E0NTAgLyogUGFzdGVib2FyZEhlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEM0M1MjMwQjU3NkI0QjAwMkNBNDUwIC8q
IFBhc3RlYm9hcmRIZWxwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlBN0Q2QjM0OTBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9h
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q2
QjM0NzBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9hZGVyLmggKi87IH07CiAJCUE3
RDZCMzRBMEY2MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdENkIzNDgwRjYxMTA0NTAw
Qjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5jcHAgKi87IH07CisJCUE3RTVEMUQxMTFDMEFF
MjUwMDBBMzM4RSAvKiBTaGFkb3dFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTVEMUNGMTFDMEFFMjUwMDBBMzM4RSAvKiBTaGFkb3dF
bGVtZW50LmNwcCAqLzsgfTsKKwkJQTdFNUQxRDIxMUMwQUUyNTAwMEEzMzhFIC8qIFNoYWRvd0Vs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
RTVEMUQwMTFDMEFFMjUwMDBBMzM4RSAvKiBTaGFkb3dFbGVtZW50LmggKi87IH07CiAJCUE4MDlG
MTQ3MEI3Mzc5M0EwMDJFNEQ3RiAvKiBSZW5kZXJTVkdHcmFkaWVudFN0b3AuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MDlGMTQ1MEI3Mzc5M0EwMDJF
NEQ3RiAvKiBSZW5kZXJTVkdHcmFkaWVudFN0b3AuaCAqLzsgfTsKIAkJQTgwOUYxNDgwQjczNzkz
QjAwMkU0RDdGIC8qIFJlbmRlclNWR0dyYWRpZW50U3RvcC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODA5RjE0NjBCNzM3OTNBMDAyRTREN0YgLyog
UmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcCAqLzsgfTsKIAkJQTgwOUYxQUEwQjczN0ZCNjAwMkU0
RDdGIC8qIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTgwOUYxQTgwQjczN0ZCNjAwMkU0RDdGIC8qIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lci5oICovOyB9OwpAQCAtODI1MCw2ICs4MjUyLDggQEAKIAkJQTdE
M0M1MjMwQjU3NkI0QjAwMkNBNDUwIC8qIFBhc3RlYm9hcmRIZWxwZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzdGVib2FyZEhlbHBlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBN0Q2QjM0NzBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9h
ZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdvcmtlclNjcmlwdExvYWRl
ci5oOyBwYXRoID0gd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTdENkIzNDgwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExv
YWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwOyBwYXRoID0gd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBN0U1RDFDRjExQzBBRTI1MDAwQTMzOEUgLyogU2hh
ZG93RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFk
b3dFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTdFNUQxRDAxMUMw
QUUyNTAwMEEzMzhFIC8qIFNoYWRvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2hhZG93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
ODA5RjE0NTBCNzM3OTNBMDAyRTREN0YgLyogUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0dyYWRpZW50U3RvcC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODA5RjE0NjBCNzM3OTNBMDAyRTREN0YgLyogUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlclNWR0dyYWRpZW50U3RvcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4MDlGMUE4MEI3MzdGQjYwMDJFNEQ3RiAvKiBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTA0MCwxMiArMTEwNDQsNiBA
QAogCQkxQUU4MkVDOTBDQUFFMTc3MDAyMjM3QUUgLyogc3RvcmFnZSAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJQjZCMDU0MDcxMUI2OEYxMDAwMjU2NEM1
IC8qIElEQk9iamVjdFN0b3JlSW1wbC5jcHAgKi8sCi0JCQkJQjZCMDU0MDgxMUI2OEYxMDAwMjU2
NEM1IC8qIElEQk9iamVjdFN0b3JlSW1wbC5oICovLAotCQkJCUI2NjkzRUVGMTFBRDYzRjYwMDNG
Mjc3MCAvKiBJREJPYmplY3RTdG9yZVJlcXVlc3QuaWRsICovLAotCQkJCUI2NjkzRUU4MTFBRDYz
RTYwMDNGMjc3MCAvKiBJREJPYmplY3RTdG9yZS5oICovLAotCQkJCUI2NjkzRUU5MTFBRDYzRTYw
MDNGMjc3MCAvKiBJREJPYmplY3RTdG9yZVJlcXVlc3QuY3BwICovLAotCQkJCUI2NjkzRUVBMTFB
RDYzRTYwMDNGMjc3MCAvKiBJREJPYmplY3RTdG9yZVJlcXVlc3QuaCAqLywKIAkJCQlCNUI1REM2
NzExOUJCM0Q1MDAyQTg3OTAgLyogQWJzdHJhY3REYXRhYmFzZS5jcHAgKi8sCiAJCQkJQjVCNURD
NjgxMTlCQjNENTAwMkE4NzkwIC8qIEFic3RyYWN0RGF0YWJhc2UuaCAqLywKIAkJCQk1MTQxODVF
RDBDRDY1RjA0MDA3NjNDOTkgLyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwICovLApAQCAtMTEw
NzMsMTIgKzExMDcxLDEyIEBACiAJCQkJQzU2QzkxNTExMTlEODRDQjAwREU0Q0Q5IC8qIElEQkFu
eS5pZGwgKi8sCiAJCQkJQzUxOThGMzgxMTkyRUNGRDAwMkI3NEE2IC8qIElEQkNhbGxiYWNrcy5o
ICovLAogCQkJCUM1MTk4RjNBMTE5MkVDRkQwMDJCNzRBNiAvKiBJREJEYXRhYmFzZS5oICovLAot
CQkJCUM1MEFEMkE5MTFBQzE2MzEwMDhDRjJGQiAvKiBJREJEYXRhYmFzZUltcGwuY3BwICovLAot
CQkJCUM1MEFEMkFBMTFBQzE2MzEwMDhDRjJGQiAvKiBJREJEYXRhYmFzZUltcGwuaCAqLywKIAkJ
CQlDNTE5OEYzQjExOTJFQ0ZEMDAyQjc0QTYgLyogSURCRGF0YWJhc2VFcnJvci5oICovLAogCQkJ
CUM1MTk4RjNDMTE5MkVDRkQwMDJCNzRBNiAvKiBJREJEYXRhYmFzZUVycm9yLmlkbCAqLywKIAkJ
CQlDNTE5OEYzRDExOTJFQ0ZEMDAyQjc0QTYgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uaCAqLywK
IAkJCQlDNTE5OEYzRTExOTJFQ0ZEMDAyQjc0QTYgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uaWRs
ICovLAorCQkJCUM1MEFEMkE5MTFBQzE2MzEwMDhDRjJGQiAvKiBJREJEYXRhYmFzZUltcGwuY3Bw
ICovLAorCQkJCUM1MEFEMkFBMTFBQzE2MzEwMDhDRjJGQiAvKiBJREJEYXRhYmFzZUltcGwuaCAq
LywKIAkJCQlDNTE5OEYzRjExOTJFQ0ZEMDAyQjc0QTYgLyogSURCRGF0YWJhc2VSZXF1ZXN0LmNw
cCAqLywKIAkJCQlDNTE5OEY0MDExOTJFQ0ZEMDAyQjc0QTYgLyogSURCRGF0YWJhc2VSZXF1ZXN0
LmggKi8sCiAJCQkJQzUxOThGNDExMTkyRUNGRDAwMkI3NEE2IC8qIElEQkRhdGFiYXNlUmVxdWVz
dC5pZGwgKi8sCkBAIC0xMTA5NCw2ICsxMTA5MiwxMiBAQAogCQkJCUM1MURBOUEyMTFBRUYyQzEw
MDk3OTlDNSAvKiBJREJJbmRleFJlcXVlc3QuY3BwICovLAogCQkJCUM1MURBOUEzMTFBRUYyQzEw
MDk3OTlDNSAvKiBJREJJbmRleFJlcXVlc3QuaCAqLywKIAkJCQlDNTFEQTlBNDExQUVGMkMxMDA5
Nzk5QzUgLyogSURCSW5kZXhSZXF1ZXN0LmlkbCAqLywKKwkJCQlCNjY5M0VFODExQUQ2M0U2MDAz
RjI3NzAgLyogSURCT2JqZWN0U3RvcmUuaCAqLywKKwkJCQlCNkIwNTQwNzExQjY4RjEwMDAyNTY0
QzUgLyogSURCT2JqZWN0U3RvcmVJbXBsLmNwcCAqLywKKwkJCQlCNkIwNTQwODExQjY4RjEwMDAy
NTY0QzUgLyogSURCT2JqZWN0U3RvcmVJbXBsLmggKi8sCisJCQkJQjY2OTNFRTkxMUFENjNFNjAw
M0YyNzcwIC8qIElEQk9iamVjdFN0b3JlUmVxdWVzdC5jcHAgKi8sCisJCQkJQjY2OTNFRUExMUFE
NjNFNjAwM0YyNzcwIC8qIElEQk9iamVjdFN0b3JlUmVxdWVzdC5oICovLAorCQkJCUI2NjkzRUVG
MTFBRDYzRjYwMDNGMjc3MCAvKiBJREJPYmplY3RTdG9yZVJlcXVlc3QuaWRsICovLAogCQkJCUM1
MTk4RjQyMTE5MkVDRkQwMDJCNzRBNiAvKiBJREJSZXF1ZXN0LmNwcCAqLywKIAkJCQlDNTE5OEY0
MzExOTJFQ0ZEMDAyQjc0QTYgLyogSURCUmVxdWVzdC5oICovLAogCQkJCUM1MTk4RjQ0MTE5MkVD
RkQwMDJCNzRBNiAvKiBJREJSZXF1ZXN0LmlkbCAqLywKQEAgLTEyMDE5LDkgKzEyMDIzLDYgQEAK
IAkJNjVCRjAyMTgwOTc0ODA2MzAwQzQzMTk2IC8qIHBhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTlGRkUzRTdDMTFCNTlDNkUwMDM3ODc0RSAvKiBN
ZW1vcnlJbmZvLmlkbCAqLywKLQkJCQk5RkZFM0U3ODExQjU5QzVEMDAzNzg3NEUgLyogTWVtb3J5
SW5mby5jcHAgKi8sCi0JCQkJOUZGRTNFNzkxMUI1OUM1RDAwMzc4NzRFIC8qIE1lbW9yeUluZm8u
aCAqLywKIAkJCQkzMTZGRTEwNjBFNkUxRDg0MDBCRjYwODggLyogYW5pbWF0aW9uICovLAogCQkJ
CTkzQzA5QTgyMEIwNjRGMDUwMDVBQkQ0RCAvKiBtYWMgKi8sCiAJCQkJODUzOEYwMDAwQUQ3MTc3
MDAwNkE4MUQxIC8qIEFic3RyYWN0Vmlldy5pZGwgKi8sCkBAIC0xMjA4OCw2ICsxMjA4OSw5IEBA
CiAJCQkJQkNFMUM0MTkwRDk4Mjk4MDAwM0IwMkYyIC8qIExvY2F0aW9uLmggKi8sCiAJCQkJQkNF
MUM0MjIwRDk4MjlGMjAwM0IwMkYyIC8qIExvY2F0aW9uLmlkbCAqLywKIAkJCQk5MzFCQ0M2MDEx
MjRERkNCMDBCRTcwREQgLyogTWVkaWFDYW5TdGFydExpc3RlbmVyLmggKi8sCisJCQkJOUZGRTNF
NzgxMUI1OUM1RDAwMzc4NzRFIC8qIE1lbW9yeUluZm8uY3BwICovLAorCQkJCTlGRkUzRTc5MTFC
NTlDNUQwMDM3ODc0RSAvKiBNZW1vcnlJbmZvLmggKi8sCisJCQkJOUZGRTNFN0MxMUI1OUM2RTAw
Mzc4NzRFIC8qIE1lbW9yeUluZm8uaWRsICovLAogCQkJCTkzRUIzNTVFMDlFMzdGRDYwMEY0Mzc5
OSAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCAqLywKIAkJCQk5MzVDNDc2MjA5
QUM0Q0U2MDBBNkFBQjQgLyogTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5oICovLAogCQkJ
CUE5QzZFNUEzMEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuY3BwICovLApAQCAtMTMzODYs
MTAgKzEzMzkwLDEwIEBACiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0OTQ4NEZBRTEwMkNG
MDFFMDAxODdERDMgLyogY2FudmFzICovLAogCQkJCTJFQUZBRjBCMTBFMkFGMkQwMDdFRDNENiAv
KiBCbG9iLmNwcCAqLywKIAkJCQkyRUFGQUYwQzEwRTJBRjJEMDA3RUQzRDYgLyogQmxvYi5oICov
LAogCQkJCTJFQUZBRjBEMTBFMkFGMkQwMDdFRDNENiAvKiBCbG9iLmlkbCAqLywKLQkJCQk0OTQ4
NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLAogCQkJCTkzQzQ0MUVEMEY4MTNBMUEw
MEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuY3BwICovLAogCQkJCTkzQzQ0MUVFMEY4MTNBMUEw
MEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuaCAqLywKIAkJCQk5M0M0NDFGRjBGODEzQUUxMDBD
MUE2MzQgLyogQ29sbGVjdGlvblR5cGUuaCAqLywKQEAgLTE1NjI4LDggKzE1NjMyLDYgQEAKIAkJ
QkM5ODU0NDMwQ0QzRDlEMDAwMDY5QkMxIC8qIFdpbmRvdyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJOUZGRTNFQTMxMUI1QTQzOTAwMzc4NzRFIC8qIEpT
TWVtb3J5SW5mby5jcHAgKi8sCi0JCQkJOUZGRTNFQTQxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVt
b3J5SW5mby5oICovLAogCQkJCUJDMTI0RUZEMEMyNjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8u
Y3BwICovLAogCQkJCUJDMTI0RUZFMEMyNjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8uaCAqLywK
IAkJCQlCQzk4NTQzQjBDRDNEOThCMDAwNjlCQzEgLyogSlNDb25zb2xlLmNwcCAqLywKQEAgLTE1
NjQ0LDYgKzE1NjQ2LDggQEAKIAkJCQlCQzk0RDE0RDBDMjc1QzY4MDA2QkM2MTcgLyogSlNIaXN0
b3J5LmggKi8sCiAJCQkJQkNFMUM0MzkwRDk4MzBEMzAwM0IwMkYyIC8qIEpTTG9jYXRpb24uY3Bw
ICovLAogCQkJCUJDRTFDNDNBMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmggKi8sCisJ
CQkJOUZGRTNFQTMxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5jcHAgKi8sCisJCQkJ
OUZGRTNFQTQxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5oICovLAogCQkJCUE5RDI0
N0Y1MEQ3NTdFMzMwMEZERjk1OSAvKiBKU05hdmlnYXRvci5jcHAgKi8sCiAJCQkJQTlEMjQ3RjYw
RDc1N0UzMzAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmggKi8sCiAJCQkJQkNFQzAxQzAwQzI3NERE
RDAwOUY0RUM5IC8qIEpTU2NyZWVuLmNwcCAqLywKQEAgLTE2MTE2LDggKzE2MTIwLDYgQEAKIAkJ
RjUyM0QxODQwMkRFNDJFODAxODYzNUNBIC8qIGNzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJRjk4RkZGNDIxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09N
VXRpbHMuY3BwICovLAotCQkJCUY5OEZGRjQzMTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxz
LmggKi8sCiAJCQkJOTNDQTRDOUMwOURGOTNGQTAwREY4Njc3IC8qIG1ha2V0b2tlbml6ZXIgKi8s
CiAJCQkJQTgwRTZDREEwQTE5ODlDQTAwN0ZCOEM1IC8qIENvdW50ZXIuaCAqLywKIAkJCQk5MzA3
MDVDNzA5RTBDOTVGMDBCMTdGRTQgLyogQ291bnRlci5pZGwgKi8sCkBAIC0xNjE2Nyw2ICsxNjE2
OSw4IEBACiAJCQkJQTgwRTZERjkwQTE5OTA2NzAwN0ZCOEM1IC8qIENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcCAqLywKIAkJCQlBODBFNkRGQTBBMTk5MDY3MDA3RkI4QzUgLyogQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24uaCAqLywKIAkJCQlBODBFNzM0NzBBMTk5Qzc3MDA3RkI4QzUg
LyogQ1NTTmFtZXNwYWNlLmggKi8sCisJCQkJRjk4RkZGNDIxMUEyNjc2MjAwRjU0OEU4IC8qIENT
U09NVXRpbHMuY3BwICovLAorCQkJCUY5OEZGRjQzMTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0
aWxzLmggKi8sCiAJCQkJQTgwRTZDQ0IwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1BhZ2VSdWxlLmNw
cCAqLywKIAkJCQlBODBFNkNENjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUGFnZVJ1bGUuaCAqLywK
IAkJCQk4NUM1NkNBNjBBQTg5RDVGMDBEOTU3NTUgLyogQ1NTUGFnZVJ1bGUuaWRsICovLApAQCAt
MTY1MjMsNiArMTY1MjcsOCBAQAogCQkJCUE4Q0ZGNURBMEExNTVBMDUwMDBBNDIzNCAvKiBSb290
SW5saW5lQm94LmggKi8sCiAJCQkJNUQ5MjVCNjUwRjY0RDRERDAwQjg0N0YwIC8qIFNjcm9sbEJl
aGF2aW9yLmNwcCAqLywKIAkJCQk1RDkyNUI2NjBGNjRENEREMDBCODQ3RjAgLyogU2Nyb2xsQmVo
YXZpb3IuaCAqLywKKwkJCQlBN0U1RDFDRjExQzBBRTI1MDAwQTMzOEUgLyogU2hhZG93RWxlbWVu
dC5jcHAgKi8sCisJCQkJQTdFNUQxRDAxMUMwQUUyNTAwMEEzMzhFIC8qIFNoYWRvd0VsZW1lbnQu
aCAqLywKIAkJCQkwODQyQkM3MDExOTAxNDQwMDBDN0QwOEYgLyogU1ZHQ2hhcmFjdGVyRGF0YS5j
cHAgKi8sCiAJCQkJMDg0MkJDNzExMTkwMTQ0MDAwQzdEMDhGIC8qIFNWR0NoYXJhY3RlckRhdGEu
aCAqLywKIAkJCQlCMkIzM0E1RDBCODg3Q0VGMDBDMTU5ODQgLyogU1ZHQ2hhcmFjdGVyTGF5b3V0
SW5mby5jcHAgKi8sCkBAIC0xNzA0NSw2ICsxNzA1MSw3IEBACiAJCQkJQTgwRTZEMDMwQTE5ODlD
QTAwN0ZCOEM1IC8qIENTU01lZGlhUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZERkMw
QTE5OTA2NzAwN0ZCOEM1IC8qIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODBFNzM0RTBBMTk5Qzc3MDA3RkI4QzUgLyogQ1NTTmFtZXNwYWNlLmggaW4g
SGVhZGVycyAqLywKKwkJCQlGOThGRkY0NTExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZEMDAwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1BhZ2VS
dWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzc3MkIzRTBDNEVBOTFFMDA4MzI4NUYgLyogQ1NT
UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAyQTRCNzBFMDk5N0I5MDA0QjZEMkIgLyog
Q1NTUGFyc2VyVmFsdWVzLmggaW4gSGVhZGVycyAqLywKQEAgLTE3ODY3LDYgKzE3ODc0LDggQEAK
IAkJCQlCQzdGQTYyMTBEMUYwQ0JEMDBEQjIyQTkgLyogRHluYW1pY05vZGVMaXN0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5MzMwOURFMjA5OUU2NDkyMDA1NkU1ODEgLyogRWRpdEFjdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERTQwOTlFNjQ5MjAwNTZFNTgxIC8qIEVkaXRDb21tYW5k
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0RjE1MzRERTExQjUzMkVDMDAyMUZEODYgLyogRWRpdGlu
Z0JlaGF2aW9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk0RjE1MzRFMDExQjUzMzAyMDAyMUZEODYg
LyogRWRpdGluZ0JlaGF2aW9yVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1NTBCNkE0MDk5
REYwMjcwMDkwRDc4MSAvKiBFZGl0aW5nVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEIzMDQz
Q0QwQUUwMzczQjAwQTgyNjQ3IC8qIEVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGMzI2
NzkwRDc4Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
Nzk4Niw2ICsxNzk5NSw4IEBACiAJCQkJOTMwN0YxRDgwQUYyRDU5MDAwREJBMzFBIC8qIEhpdFRl
c3RSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDM0JDMjlDMEU5MUFCMEYwMDgzNTU4OCAv
KiBIb3N0V2luZG93LmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0U4QjM1NzExQTIzQ0UyMDAxNjk0
MDkgLyogSFRNTDVMZXhlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTgzQjNBRjExMUFERUZGNTAw
NDU4ODA5IC8qIEhUTUw1U2NyaXB0UnVubmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBODdGMTYz
NTExQUU4NDEzMDBDQkIyRTUgLyogSFRNTDVTY3JpcHRSdW5uZXJIb3N0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk5N0U4QjNDMzExQTI4OTA4MDAxNjk0MDkgLyogSFRNTDVUb2tlbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTg3MTAzOEIxMUEyOTQ3MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBODc5QzYyNjExQTlEMUY3MDA1OTIzN0EgLyogSFRNTDVUcmVl
QnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODA5Nyw2ICsxODEwOCwxMiBAQAogCQkJCUM1
MTk4RjU0MTE5MkVDRkQwMDJCNzRBNiAvKiBJREJEYXRhYmFzZVJlcXVlc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUM1NkM5MTYwMTE5RDg0RTYwMERFNENEOSAvKiBJREJFcnJvckV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlDNTZDOTE2MzExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCUM1MURBOUE1MTFBRUYyQzEwMDk3OTlDNSAvKiBJREJJbmRleC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQzUxREE5QTcxMUFFRjJDMTAwOTc5OUM1IC8qIElEQkluZGV4
SW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzUxREE5QTkxMUFFRjJDMTAwOTc5OUM1IC8qIElE
QkluZGV4UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjY2OTNFRUMxMUFENjNFNjAwM0Yy
NzcwIC8qIElEQk9iamVjdFN0b3JlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCNkIwNTQwQTExQjY4
RjEwMDAyNTY0QzUgLyogSURCT2JqZWN0U3RvcmVJbXBsLmggaW4gSGVhZGVycyAqLywKKwkJCQlC
NjY5M0VFRTExQUQ2M0U2MDAzRjI3NzAgLyogSURCT2JqZWN0U3RvcmVSZXF1ZXN0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDNTE5OEY1NzExOTJFQ0ZEMDAyQjc0QTYgLyogSURCUmVxdWVzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQzU2QzkxNjkxMTlEODRGRjAwREU0Q0Q5IC8qIElEQlN1Y2Nlc3NF
dmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE3MUQ1N0MwRjMzODE5MDAwRjlDRTRFIC8qIElk
ZW50aWZpZXJSZXAuaCBpbiBIZWFkZXJzICovLApAQCAtMTgxNDIsNiArMTgxNTksNyBAQAogCQkJ
CTdBMEU3NzBGMTBDMDBBODgwMEEwMjc2RSAvKiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQxRjA2MjAxMEY1RjBCNjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JSZXNv
dXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU0MTMzQTgxMDJFMDBFODAwMDc1RDAwIC8qIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTRGMzI4OUI2MTFBNDJB
QUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNzVD
QzA3MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlFRUNERUMxMDUwM0MyNDAwMDk5RkFCIC8qIEludDE2QXJyYXkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ5RUVDREU5MTA1MDNDMjQwMDA5OUZBQiAvKiBJbnQzMkFycmF5Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTE4MTY3LDYgKzE4MTg1LDcgQEAKIAkJCQk0OUVFQ0YwMTEwNTA3
MEM0MDAwOTlGQUIgLyogSlNBcnJheUJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFRUNG
QUMxMDUwOTM4MjAwMDk5RkFCIC8qIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlFRUNGMUMxMDUwNzJGMzAwMDk5RkFCIC8qIEpTQXJyYXlCdWZmZXJWaWV3
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjI0M0QwMTExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJh
eUJ1ZmZlclZpZXdIZWxwZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMURCMDlEMUMxMjMw
MDBCRTMyNSAvKiBKU0F0dHIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RUVGRkM5MEQzNDU1MEMw
MDQ2OUE1OCAvKiBKU0F1ZGlvQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMTI0
RjAwMEMyNjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8uaCBpbiBIZWFkZXJzICovLApAQCAtMTgy
OTksNiArMTgzMTgsNyBAQAogCQkJCUU0NDYxNDNBMENENjg5QzgwMEZBREE3NSAvKiBKU0hUTUxN
ZWRpYUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJBRTVDMEExRDI2RjIwMEI0MkIy
NSAvKiBKU0hUTUxNZW51RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTdBMTgwQTE5
QzNENjAwN0ZCOEM1IC8qIEpTSFRNTE1ldGFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlB
N0JCRTI2NzExQUZCM0YyMDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQUUyQUIyQTBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTW9kRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzMDVDN0EwQzA3NkJCMzAwQ0QyMEYwIC8qIEpTSFRNTE9i
amVjdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBODVCMUVCMEExQjI0MDUwMEQ4Qzg3
QyAvKiBKU0hUTUxPTGlzdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTgzMzEsNiArMTgz
NTEsOCBAQAogCQkJCUM1RjRGNDBCMTE5MzA2QUMwMEZERkFERCAvKiBKU0lEQkRhdGFiYXNlUmVx
dWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU2QzkxQTExMTlEOTE4MTAwREU0Q0Q5IC8qIEpT
SURCRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU2QzkxQTMxMTlEOTE4MTAwREU0
Q0Q5IC8qIEpTSURCRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1QkJDOUQxMTFBRUY4Mzgw
MDdDMkJGRSAvKiBKU0lEQkluZGV4UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjY2OTNF
RjMxMUFENjQ4NjAwM0YyNzcwIC8qIEpTSURCT2JqZWN0U3RvcmVSZXF1ZXN0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDNUY0RjQwRDExOTMwNkFDMDBGREZBREQgLyogSlNJREJSZXF1ZXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQlDNTZDOTFBNzExOUQ5MTg3MDBERTRDRDkgLyogSlNJREJTdWNjZXNz
RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNkM0OUY0MEQ3REJBMDUwMEZGQTU1OCAvKiBK
U0ltYWdlQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMTgzNTEsNiArMTgzNzMsNyBA
QAogCQkJCUJDRTFDNDNDMEQ5ODMwRDMwMDNCMDJGMiAvKiBKU0xvY2F0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFNDQ2MTQxOTBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzNDMzlCNzBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxpc3Qu
aCBpbiBIZWFkZXJzICovLAorCQkJCTlGRkUzRUE2MTFCNUE0MzkwMDM3ODc0RSAvKiBKU01lbW9y
eUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMDc0MDBFMEU3N0JEQzAwMDMzQUYyNCAvKiBK
U01lc3NhZ2VDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTA3NDMyNzBFNzgzNUE1MDAz
M0FGMjQgLyogSlNNZXNzYWdlQ2hhbm5lbENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3NTc5M0VDOTBEMENFNzJEMDA3RkMwQUMgLyogSlNNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMTg2MDIsOCArMTg2MjUsMTAgQEAKIAkJCQlBNTlFM0MxRTExNTgwRjUxMDA3Mjky
OEUgLyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2RkUxMUEw
RTZFMURBNzAwQkY2MDg4IC8qIEtleWZyYW1lQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzVFQkExMTBFODIzRTQ3MDBCMjU5NjUgLyogS2V5ZnJhbWVMaXN0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk1MjFENDZGODExQUVDOUIxMDA1MTQ2MTMgLyogS2lsbFJpbmcuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTY1OTM5MjM4MDlBRTQzNDYwMDJDNTMxRiAvKiBLVVJMLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0JEMjFBQjBFNDE3QUQ0MDBBMDcwRjIgLyogS1VSTEhhc2guaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE0NTZGQTI3MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODVFQzlBRkIwQTcxQTJDNjAwRUVFQUVEIC8qIExhbmd1YWdlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3Rh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkREOEY1MEQ5MUU2QUYwMDBGODlFRSAvKiBMZWdh
Y3lXZWJBcmNoaXZlLmggaW4gSGVhZGVycyAqLywKQEAgLTE4NjQzLDYgKzE4NjY4LDcgQEAKIAkJ
CQk0RTE5NTkyQTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNEUxOTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCBp
biBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJFMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5
RXhwLmggaW4gSGVhZGVycyAqLywKKwkJCQk5RkZFM0U3QjExQjU5QzVEMDAzNzg3NEUgLyogTWVt
b3J5SW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkEwOTlFNjQ5MjAwNTZFNTgxIC8q
IE1lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUFE
RUNDRTBFNzZBRDhCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaCBpbiBIZWFkZXJzICovLAog
CQkJCTc1NzkzRTg0MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMTg5NDYsNiArMTg5NzIsNyBAQAogCQkJCTkzMzA5RTEwMDk5RTY0OTIwMDU2RTU4
MSAvKiBTZXROb2RlQXR0cmlidXRlQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5
NEYwODI0NUU1OTAwMUU5QUJDIC8qIFNldHRpbmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVF
QjhDNDBFODIwMzFCMDBCMjU5NjUgLyogU2hhZG93RGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QTdFNUQxRDIxMUMwQUUyNTAwMEEzMzhFIC8qIFNoYWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4MEU2Q0U4MEExOTg5Q0EwMDdGQjhDNSAvKiBTaGFkb3dWYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJBRkZDOTQwRDAwQTVERjAwMzAwNzREIC8qIFNoYXBlQXJhYmljLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQTRBOTU0RTBCNEVEQ0NCMDAyRDhDM0MgLyogU2hhcmVkQnVmZmVy
LmggaW4gSGVhZGVycyAqLywKQEAgLTE5NDMyLDI2ICsxOTQ1OSw2IEBACiAJCQkJRTFCRTUxMkUw
Q0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdERDREODcwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNFMTcyRTAxMTEzNkU4Q0UwMDYyQTUzMyAvKiBab29tTW9kZS5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJQTQ1NkZBMjcxMUFENEE4MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmggaW4gSGVh
ZGVycyAqLywKLQkJCQlCNjY5M0VFQzExQUQ2M0U2MDAzRjI3NzAgLyogSURCT2JqZWN0U3RvcmUu
aCBpbiBIZWFkZXJzICovLAotCQkJCUI2NjkzRUVFMTFBRDYzRTYwMDNGMjc3MCAvKiBJREJPYmpl
Y3RTdG9yZVJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCUI2NjkzRUYzMTFBRDY0ODYwMDNG
Mjc3MCAvKiBKU0lEQk9iamVjdFN0b3JlUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTgz
QjNBRjExMUFERUZGNTAwNDU4ODA5IC8qIEhUTUw1U2NyaXB0UnVubmVyLmggaW4gSGVhZGVycyAq
LywKLQkJCQk1MjFENDZGODExQUVDOUIxMDA1MTQ2MTMgLyogS2lsbFJpbmcuaCBpbiBIZWFkZXJz
ICovLAotCQkJCUE4N0YxNjM1MTFBRTg0MTMwMENCQjJFNSAvKiBIVE1MNVNjcmlwdFJ1bm5lckhv
c3QuaCBpbiBIZWFkZXJzICovLAotCQkJCUM1MURBOUE1MTFBRUYyQzEwMDk3OTlDNSAvKiBJREJJ
bmRleC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQzUxREE5QTcxMUFFRjJDMTAwOTc5OUM1IC8qIElE
QkluZGV4SW1wbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQzUxREE5QTkxMUFFRjJDMTAwOTc5OUM1
IC8qIElEQkluZGV4UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQzVCQkM5RDExMUFFRjgz
ODAwN0MyQkZFIC8qIEpTSURCSW5kZXhSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0RjMy
ODlCNjExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmggaW4gSGVhZGVycyAqLywK
LQkJCQk5RkZFM0U3QjExQjU5QzVEMDAzNzg3NEUgLyogTWVtb3J5SW5mby5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJOUZGRTNFQTYxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJODYyNDNEMDExMUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJW
aWV3SGVscGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlBN0JCRTI2NzExQUZCM0YyMDAwNUVBMDMg
LyogSlNIVE1MTWV0ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCNkIwNTQwQTExQjY4
RjEwMDAyNTY0QzUgLyogSURCT2JqZWN0U3RvcmVJbXBsLmggaW4gSGVhZGVycyAqLywKLQkJCQk0
RjE1MzRERTExQjUzMkVDMDAyMUZEODYgLyogRWRpdGluZ0JlaGF2aW9yLmggaW4gSGVhZGVycyAq
LywKLQkJCQk0RjE1MzRFMDExQjUzMzAyMDAyMUZEODYgLyogRWRpdGluZ0JlaGF2aW9yVHlwZXMu
aCBpbiBIZWFkZXJzICovLAotCQkJCUY5OEZGRjQ1MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0
aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE5ODY1LDYgKzE5ODcyLDcgQEAKIAkJCQlBOEM0QTgw
QTA5RDU2MzI3MDAwM0FDOEQgLyogQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRkMwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU01lZGlhUnVs
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODBFNkRGQjBBMTk5MDY3MDA3RkI4QzUgLyogQ1NT
TXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRjk4RkZGNDQx
MUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgw
RTZDRjUwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1BhZ2VSdWxlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDNzcyQjNEMEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkMwMkE1NDAwRTA5OUM1QTAwNEI2RDJCIC8qIENTU1BhcnNlclZhbHVlcy5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTE5ODg3LDYgKzE5ODk1LDcgQEAKIAkJCQlCQ0NCRTdCNTBFMDcx
NjY5MDBFQUZBOEUgLyogQ1NTVmFyaWFibGVEZXBlbmRlbnRWYWx1ZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0NCRTY5QjBFMDZGNTEwMDBFQUZBOEUgLyogQ1NTVmFyaWFibGVzRGVjbGFyYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDQkU2OEIwRTA2RTYwRDAwRUFGQThFIC8qIENT
U1ZhcmlhYmxlc1J1bGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTExQUYxNTExMUI5QTFBMzAw
ODA1MTAzIC8qIEN1cnNvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUEyNjA4MjQ1RTU5
MDAxRTlBQkMgLyogQ3Vyc29yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNjJDRDMyNTkxMTU3
RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxOTYx
MTZBMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTIw
MzE1LDYgKzIwMzI0LDcgQEAKIAkJCQk5MzYzQjYyQzBGOEU4RkUwMDA4MDM4MTAgLyogSGlzdG9y
eVByb3BlcnR5TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzA3RjFENzBBRjJENTkwMDBE
QkEzMUEgLyogSGl0VGVzdFJlc3VsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0U4QjM1NjEx
QTIzQ0UyMDAxNjk0MDkgLyogSFRNTDVMZXhlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBODNC
M0FGMDExQURFRkY1MDA0NTg4MDkgLyogSFRNTDVTY3JpcHRSdW5uZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTg3MTAzOEExMUEyOTQ3MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE4NzlDNjI1MTFBOUQxRjcwMDU5MjM3QSAvKiBIVE1MNVRyZWVC
dWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDOTdFMjNCMTA5MTQ0OTUwMDEwRDM2MSAv
KiBIVE1MQWxsQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTIwNDE4LDkgKzIwNDI4
LDE0IEBACiAJCQkJQjI3NTM1OEUwQjA1M0E2NjAwMkNFNjRGIC8qIEljb25NYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQk1MUUxRUNDMDBDOTFDOTA0MDBEQzI1NUIgLyogSWNvblJlY29yZC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlDNTZDOTE1MjExOUQ4NENCMDBERTRDRDkgLyogSURCQW55LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUI2MjdGQjJEMTFBRDc0MzUwMEU5N0I3MiAvKiBJREJEYXRh
YmFzZUltcGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzUxOThGNTMxMTkyRUNGRDAwMkI3NEE2
IC8qIElEQkRhdGFiYXNlUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNTZDOTE1RjEx
OUQ4NEU2MDBERTRDRDkgLyogSURCRXJyb3JFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlD
NTZDOTE2MjExOUQ4NEU2MDBERTRDRDkgLyogSURCRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQzUxREE5QTYxMUFFRjJDMTAwOTc5OUM1IC8qIElEQkluZGV4SW1wbC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlDNTFEQTlBODExQUVGMkMxMDA5Nzk5QzUgLyogSURCSW5kZXhSZXF1ZXN0LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUI2QjA1NDA5MTFCNjhGMTAwMDI1NjRDNSAvKiBJREJPYmpl
Y3RTdG9yZUltcGwuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjY2OTNFRUQxMUFENjNFNjAwM0Yy
NzcwIC8qIElEQk9iamVjdFN0b3JlUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNTE5
OEY1NjExOTJFQ0ZEMDAyQjc0QTYgLyogSURCUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDNTZDOTE2ODExOUQ4NEZGMDBERTRDRDkgLyogSURCU3VjY2Vzc0V2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBNzFENTdCMEYzMzgxOTAwMEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjA0NjEsNiArMjA0NzYsNyBAQAogCQkJCTdBMEU3NzBFMTBD
MDBBODgwMEEwMjc2RSAvKiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDFGMDYyMDIwRjVGMEI2NjAwQTA3RUFDIC8qIEluc3BlY3RvclJlc291cmNlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTc1NDEzM0FBMTAyRTAwRjQwMDA3NUQwMCAvKiBJbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTRGMzI4OUI1MTFBNDJBQUIwMDVB
QkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlFRUNERUIx
MDUwM0MyNDAwMDk5RkFCIC8qIEludDE2QXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlF
RUNERTgxMDUwM0MyNDAwMDk5RkFCIC8qIEludDMyQXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDlDN0I5Q0IxMDQyRDMyRjAwMDlENDQ3IC8qIEludDhBcnJheS5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTIwNjU4LDYgKzIwNjc0LDcgQEAKIAkJCQlFNDQ2MTQzOTBDRDY4OUM3MDBGQURBNzUg
LyogSlNIVE1MTWVkaWFFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJBRTVCMEEx
RDI2RjIwMEI0MkIyNSAvKiBKU0hUTUxNZW51RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBODBFN0ExNzBBMTlDM0Q2MDA3RkI4QzUgLyogSlNIVE1MTWV0YUVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQTdCQkUyNjYxMUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUUyQUIyOTBBMUNFNjNCMDBCNDJCMjUgLyog
SlNIVE1MTW9kRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzMwNUM3OTBDMDc2QkIz
MDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
QzMwNUNBNDBDMDc4MUJCMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudEN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTIwNjkzLDYgKzIwNzEwLDggQEAKIAkJCQlDNUY0RjQwQTExOTMw
NkFDMDBGREZBREQgLyogSlNJREJEYXRhYmFzZVJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQzU2QzkxQTAxMTlEOTE4MTAwREU0Q0Q5IC8qIEpTSURCRXJyb3JFdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDNTZDOTFBMjExOUQ5MTgxMDBERTRDRDkgLyogSlNJREJFdmVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlDNUJCQzlEMDExQUVGODM4MDA3QzJCRkUgLyogSlNJREJJbmRl
eFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjY2OTNFRjIxMUFENjQ4NjAwM0YyNzcw
IC8qIEpTSURCT2JqZWN0U3RvcmVSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1RjRG
NDBDMTE5MzA2QUMwMEZERkFERCAvKiBKU0lEQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQzU2QzkxQTYxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURCU3VjY2Vzc0V2ZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDNkM0OUYzMEQ3REJBMDUwMEZGQTU1OCAvKiBKU0ltYWdlQ29uc3Ry
dWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMDcyMiw2ICsyMDc0MSw3IEBACiAJCQkJOEZB
Qzc3NEQxMTk4NzJDQjAwMTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFNDQ2MTQxODBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDM0MzOUI2MEMwRDNEOEQwMDVGNEQ3QSAvKiBKU01lZGlh
TGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5RkZFM0VBNTExQjVBNDM5MDAzNzg3NEUgLyog
SlNNZW1vcnlJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMDc0MDBEMEU3N0JEQzAwMDMz
QUYyNCAvKiBKU01lc3NhZ2VDaGFubmVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMDc0MzI0
MEU3ODM1ODMwMDMzQUYyNCAvKiBKU01lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTFBNUY5OUIwRTdFQUEyNTAwQUY4NUVBIC8qIEpTTWVzc2FnZUNoYW5u
ZWxDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMTAwOSw5ICsyMTAyOSwxMSBAQAogCQkJ
CTkzNUM0NzcwMDlBQzRENzMwMEE2QUFCNCAvKiBLZXlFdmVudE1hYy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTMxNkZFMTE5MEU2RTFEQTcwMEJGNjA4OCAvKiBLZXlmcmFtZUFuaW1hdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzVFQkExMDBFODIzRTQ3MDBCMjU5NjUgLyogS2V5ZnJhbWVM
aXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUyMUQ0NkY2MTFBRUM5ODEwMDUxNDYxMyAvKiBL
aWxsUmluZ01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTY1OTM5MjM3MDlBRTQzNDYwMDJDNTMx
RiAvKiBLVVJMLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBOTg5NTZCMEFBNzhGODAwMDVFRjVF
RiAvKiBLVVJMQ0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjU5MzkyM0EwOUFFNDM1QzAw
MkM1MzFGIC8qIEtVUkxNYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNDU2RkEyNjExQUQ0QTgz
MDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1MjA4
NDUwOUJENDNCOTAwRjIwMzhEIC8qIExhbmd1YWdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5
MDY2MDYwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxMkREOEY0MEQ5MUU2QUYwMDBGODlFRSAvKiBMZWdhY3lXZWJBcmNoaXZlLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMjEwNDcsNiArMjEwNjksNyBAQAogCQkJCTRFMTk1OTI5MEEzOURBQ0Mw
MDIyMEZFNSAvKiBNZWRpYVF1ZXJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRFMTk1OTJCMEEz
OURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTRFMTk1OTJEMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXhwLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTlGRkUzRTdBMTFCNTlDNUQwMDM3ODc0RSAvKiBNZW1vcnlJbmZvLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzMzA5REY5MDk5RTY0OTIwMDU2RTU4MSAvKiBNZXJnZUlkZW50
aWNhbEVsZW1lbnRzQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUFERUNDRjBFNzZB
RDhCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNzU3
OTNFODMwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTIxMzEyLDYgKzIxMzM1LDcgQEAKIAkJCQk5MzMwOUUwRjA5OUU2NDkyMDA1NkU1ODEgLyog
U2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRDOUE1RUEw
QjNEMTA1RjAwNUEwMjMyIC8qIFNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNUVC
OEMzMEU4MjAzMUIwMEIyNTk2NSAvKiBTaGFkb3dEYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUE3RTVEMUQxMTFDMEFFMjUwMDBBMzM4RSAvKiBTaGFkb3dFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4MEU2Q0Y0MEExOTg5Q0EwMDdGQjhDNSAvKiBTaGFkb3dWYWx1ZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCMkFGRkM5MzBEMDBBNURGMDAzMDA3NEQgLyogU2hhcGVBcmFiaWMu
YyBpbiBTb3VyY2VzICovLAogCQkJCTFBNEE5NTREMEI0RURDQ0IwMDJEOEMzQyAvKiBTaGFyZWRC
dWZmZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMTczOSwyMiArMjE3NjMsNiBAQAogCQkJCTkz
RjE5QjA1MDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAvKiBYU1NB
dWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE0NTZGQTI2MTFBRDRBODMwMDIwQjQyMCAv
KiBMYWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCNjY5M0VFRDExQUQ2M0U2
MDAzRjI3NzAgLyogSURCT2JqZWN0U3RvcmVSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CUI2NjkzRUYyMTFBRDY0ODYwMDNGMjc3MCAvKiBKU0lEQk9iamVjdFN0b3JlUmVxdWVzdC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQlCNjI3RkIyRDExQUQ3NDM1MDBFOTdCNzIgLyogSURCRGF0YWJh
c2VJbXBsLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE4M0IzQUYwMTFBREVGRjUwMDQ1ODgwOSAv
KiBIVE1MNVNjcmlwdFJ1bm5lci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MjFENDZGNjExQUVD
OTgxMDA1MTQ2MTMgLyogS2lsbFJpbmdNYWMubW0gaW4gU291cmNlcyAqLywKLQkJCQlDNTFEQTlB
NjExQUVGMkMxMDA5Nzk5QzUgLyogSURCSW5kZXhJbXBsLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CUM1MURBOUE4MTFBRUYyQzEwMDk3OTlDNSAvKiBJREJJbmRleFJlcXVlc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJQzVCQkM5RDAxMUFFRjgzODAwN0MyQkZFIC8qIEpTSURCSW5kZXhSZXF1ZXN0
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTRGMzI4OUI1MTFBNDJBQUIwMDVBQkU3RSAvKiBJbnNw
ZWN0b3JWYWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOUZGRTNFN0ExMUI1OUM1RDAwMzc4
NzRFIC8qIE1lbW9yeUluZm8uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOUZGRTNFQTUxMUI1QTQz
OTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlFMTFBRjE1
MTExQjlBMUEzMDA4MDUxMDMgLyogQ3Vyc29yLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE3QkJF
MjY2MTFBRkIzRjIwMDA1RUEwMyAvKiBKU0hUTUxNZXRlckVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJQjZCMDU0MDkxMUI2OEYxMDAwMjU2NEM1IC8qIElEQk9iamVjdFN0b3JlSW1wbC5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQlGOThGRkY0NDExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01V
dGlscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVV
cGxvYWRDb250cm9sLmNwcAppbmRleCBkNGQ3M2JjZWJmNmNmMjQwYjcwYzA4NGY1OGY4OGQ0Y2Mz
ZTE4OWJiLi41MTI1ZWQ1NGVkYTNlYWM1MDU3MTJlMDg4NGIwOTU1YWYwOGQwZGY2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCkBAIC0yNyw3ICsy
Nyw3IEBACiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0
LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5o
IgorI2luY2x1ZGUgIlNoYWRvd0VsZW1lbnQuaCIKICNpbmNsdWRlICJJY29uLmgiCiAjaW5jbHVk
ZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTUwLDMwICs1MCw2
IEBAIGNvbnN0IGludCBpY29uRmlsZW5hbWVTcGFjaW5nID0gMjsKIGNvbnN0IGludCBkZWZhdWx0
V2lkdGhOdW1DaGFycyA9IDM0OwogY29uc3QgaW50IGJ1dHRvblNoYWRvd0hlaWdodCA9IDI7CiAK
LWNsYXNzIFNoYWRvd0lucHV0RWxlbWVudCA6IHB1YmxpYyBIVE1MSW5wdXRFbGVtZW50IHsKLXB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dJbnB1dEVsZW1lbnQ+IGNyZWF0ZShO
b2RlKiBzaGFkb3dQYXJlbnQpOwotCi1wcml2YXRlOgotICAgIFNoYWRvd0lucHV0RWxlbWVudChO
b2RlKiBzaGFkb3dQYXJlbnQpOwotCi0gICAgdmlydHVhbCBib29sIGlzU2hhZG93Tm9kZSgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIE5vZGUqIHNoYWRvd1BhcmVudE5vZGUo
KSB7IHJldHVybiBtX3NoYWRvd1BhcmVudDsgfQotCi0gICAgTm9kZSogbV9zaGFkb3dQYXJlbnQ7
ICAgIAotfTsKLQotaW5saW5lIFNoYWRvd0lucHV0RWxlbWVudDo6U2hhZG93SW5wdXRFbGVtZW50
KE5vZGUqIHNoYWRvd1BhcmVudCkKLSAgICA6IEhUTUxJbnB1dEVsZW1lbnQoaW5wdXRUYWcsIHNo
YWRvd1BhcmVudC0+ZG9jdW1lbnQoKSkKLSAgICAsIG1fc2hhZG93UGFyZW50KHNoYWRvd1BhcmVu
dCkKLXsKLX0KLQotaW5saW5lIFBhc3NSZWZQdHI8U2hhZG93SW5wdXRFbGVtZW50PiBTaGFkb3dJ
bnB1dEVsZW1lbnQ6OmNyZWF0ZShOb2RlKiBzaGFkb3dQYXJlbnQpCi17Ci0gICAgcmV0dXJuIG5l
dyBTaGFkb3dJbnB1dEVsZW1lbnQoc2hhZG93UGFyZW50KTsKLX0KLQogUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2w6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0
KQogICAgIDogUmVuZGVyQmxvY2soaW5wdXQpCiAgICAgLCBtX2J1dHRvbigwKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IGFjM2ZiMTU4NWNhZDY0ZDc2OWQ4NmY5NDI2MmUy
MDczMWI0MGExNmYuLjI3YmUzYjA1YmZmMmNjMjQyOTQ4MGMyMTRkYWJlY2ZlMzg5NDZlMzcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKQEAgLTIzLDggKzIzLDcgQEAKICNpZiBF
TkFCTEUoUFJPR1JFU1NfVEFHKQogCiAjaW5jbHVkZSAiUmVuZGVyUHJvZ3Jlc3MuaCIKLQotI2lu
Y2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCisjaW5jbHVkZSAiU2hhZG93RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxQcm9ncmVzc0VsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgog
I2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKQEAgLTM1LDMyICszNCw2IEBAIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1l
czsKLQotY2xhc3MgUHJvZ3Jlc3NWYWx1ZUVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQg
ewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFByb2dyZXNzVmFsdWVFbGVtZW50PiBj
cmVhdGUoTm9kZSogc2hhZG93UGFyZW50KTsKLQotcHJpdmF0ZTogICAgICAgIAotICAgIFByb2dy
ZXNzVmFsdWVFbGVtZW50KE5vZGUqIHNoYWRvd1BhcmVudCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wg
aXNTaGFkb3dOb2RlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgTm9kZSog
c2hhZG93UGFyZW50Tm9kZSgpIHsgcmV0dXJuIG1fc2hhZG93UGFyZW50OyB9Ci0KLSAgICBOb2Rl
KiBtX3NoYWRvd1BhcmVudDsKLX07Ci0KLWlubGluZSBQcm9ncmVzc1ZhbHVlRWxlbWVudDo6UHJv
Z3Jlc3NWYWx1ZUVsZW1lbnQoTm9kZSogc2hhZG93UGFyZW50KQotICAgIDogSFRNTERpdkVsZW1l
bnQoZGl2VGFnLCBzaGFkb3dQYXJlbnQtPmRvY3VtZW50KCkpCi0gICAgLCBtX3NoYWRvd1BhcmVu
dChzaGFkb3dQYXJlbnQpCi17Ci19Ci0KLWlubGluZSBQYXNzUmVmUHRyPFByb2dyZXNzVmFsdWVF
bGVtZW50PiBQcm9ncmVzc1ZhbHVlRWxlbWVudDo6Y3JlYXRlKE5vZGUqIHNoYWRvd1BhcmVudCkK
LXsKLSAgICByZXR1cm4gbmV3IFByb2dyZXNzVmFsdWVFbGVtZW50KHNoYWRvd1BhcmVudCk7Ci19
Ci0KIFJlbmRlclByb2dyZXNzOjpSZW5kZXJQcm9ncmVzcyhIVE1MUHJvZ3Jlc3NFbGVtZW50KiBl
bGVtZW50KQogICAgIDogUmVuZGVyQmxvY2soZWxlbWVudCkKICAgICAsIG1fcG9zaXRpb24oLTEp
CkBAIC0xNDQsNyArMTE3LDcgQEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlVmFsdWVQYXJ0
U3RhdGUoKQogewogICAgIGJvb2wgbmVlZExheW91dCA9ICFzdHlsZSgpLT5oYXNBcHBlYXJhbmNl
KCkgfHwgbV92YWx1ZVBhcnQ7CiAgICAgaWYgKCFzdHlsZSgpLT5oYXNBcHBlYXJhbmNlKCkgJiYg
IW1fdmFsdWVQYXJ0KSB7Ci0gICAgICAgIG1fdmFsdWVQYXJ0ID0gUHJvZ3Jlc3NWYWx1ZUVsZW1l
bnQ6OmNyZWF0ZShub2RlKCkpOworICAgICAgICBtX3ZhbHVlUGFydCA9IFNoYWRvd0Jsb2NrRWxl
bWVudDo6Y3JlYXRlKG5vZGUoKSk7CiAgICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGVG
b3JWYWx1ZVBhcnQgPSBjcmVhdGVTdHlsZUZvclZhbHVlUGFydChzdHlsZSgpKTsKICAgICAgICAg
bV92YWx1ZVBhcnQtPnNldFJlbmRlcmVyKG1fdmFsdWVQYXJ0LT5jcmVhdGVSZW5kZXJlcihyZW5k
ZXJBcmVuYSgpLCBzdHlsZUZvclZhbHVlUGFydC5nZXQoKSkpOwogICAgICAgICBtX3ZhbHVlUGFy
dC0+cmVuZGVyZXIoKS0+c2V0U3R5bGUoc3R5bGVGb3JWYWx1ZVBhcnQucmVsZWFzZSgpKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCmluZGV4IDExMzdlOTlmNzk1YmYyZWQ3YmFkMTUzYjY0
YjIzZjc4OTBkNTkzZTIuLjRkMWE4OGY1NjRlZTQwN2FhNjg2NjViNmY2MDJhZWU0OTM5ZTY4ZGEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuaApAQCAtMjcsNyArMjcsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MUHJvZ3Jlc3NFbGVtZW50OwotY2xhc3MgUHJvZ3Jl
c3NWYWx1ZUVsZW1lbnQ7CitjbGFzcyBTaGFkb3dCbG9ja0VsZW1lbnQ7CiAKIGNsYXNzIFJlbmRl
clByb2dyZXNzIDogcHVibGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKQEAgLTYzLDcgKzYzLDcg
QEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9hbmltYXRpb25EdXJhdGlvbjsKICAgICBib29sIG1f
YW5pbWF0aW5nOwogICAgIFRpbWVyPFJlbmRlclByb2dyZXNzPiBtX2FuaW1hdGlvblRpbWVyOwot
ICAgIFJlZlB0cjxQcm9ncmVzc1ZhbHVlRWxlbWVudD4gbV92YWx1ZVBhcnQ7CisgICAgUmVmUHRy
PFNoYWRvd0Jsb2NrRWxlbWVudD4gbV92YWx1ZVBhcnQ7CiB9OwogCiBpbmxpbmUgUmVuZGVyUHJv
Z3Jlc3MqIHRvUmVuZGVyUHJvZ3Jlc3MoUmVuZGVyT2JqZWN0KiBvYmplY3QpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU2xpZGVyLmNwcAppbmRleCAzMjRkMWZkZTkzOTZiY2I1MzhlMzFhM2IxYzg5YzBkZTVk
YjNjY2FlLi43ODk2NGE2OTA3ODQ5OTU4YWQxNTBlZWYzOTVkZmJkMjA4OTA0NmYxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJFdmVu
dE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50
LmgiCi0jaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ICNpbmNsdWRlICJIVE1MUGFyc2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sRWxlbWVudHMu
aCIKQEAgLTM2LDYgKzM1LDcgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUg
IlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlNoYWRv
d0VsZW1lbnQuaCIKICNpbmNsdWRlICJTdGVwUmFuZ2UuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgogCkBAIC00Myw4ICs0Myw2IEBAIHVzaW5nIHN0ZDo6bWluOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KIHN0YXRpYyBjb25zdCBp
bnQgZGVmYXVsdFRyYWNrTGVuZ3RoID0gMTI5OwogCiAvLyBSZXR1cm5zIGEgdmFsdWUgYmV0d2Vl
biAwIGFuZCAxLgpAQCAtNTUsNyArNTMsNyBAQCBzdGF0aWMgZG91YmxlIHNsaWRlclBvc2l0aW9u
KEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpCiB9CiAKIC8vIEZJWE1FOiBDb3VsZCBzaGFyZSBj
b2RlIHdpdGggdGhlIFNsaWRlckRpdkVsZW1lbnQgY2xhc3MgaW4gUmVuZGVyUHJvZ3Jlc3MuCi1j
bGFzcyBTbGlkZXJUaHVtYkVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgeworY2xhc3Mg
U2xpZGVyVGh1bWJFbGVtZW50IDogcHVibGljIFNoYWRvd0Jsb2NrRWxlbWVudCB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2xpZGVyVGh1bWJFbGVtZW50PiBjcmVhdGUoTm9kZSog
c2hhZG93UGFyZW50KTsKIApAQCAtNjcsMTcgKzY1LDEyIEBAIHB1YmxpYzoKIHByaXZhdGU6ICAg
ICAgICAKICAgICBTbGlkZXJUaHVtYkVsZW1lbnQoTm9kZSogc2hhZG93UGFyZW50KTsKICAgICAK
LSAgICB2aXJ0dWFsIGJvb2wgaXNTaGFkb3dOb2RlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQot
ICAgIHZpcnR1YWwgTm9kZSogc2hhZG93UGFyZW50Tm9kZSgpIHsgcmV0dXJuIG1fc2hhZG93UGFy
ZW50OyB9Ci0KICAgICBGbG9hdFBvaW50IG1fb2Zmc2V0VG9UaHVtYjsKLSAgICBOb2RlKiBtX3No
YWRvd1BhcmVudDsKICAgICBib29sIG1faW5EcmFnTW9kZTsKIH07CiAKIGlubGluZSBTbGlkZXJU
aHVtYkVsZW1lbnQ6OlNsaWRlclRodW1iRWxlbWVudChOb2RlKiBzaGFkb3dQYXJlbnQpCi0gICAg
OiBIVE1MRGl2RWxlbWVudChkaXZUYWcsIHNoYWRvd1BhcmVudC0+ZG9jdW1lbnQoKSkKLSAgICAs
IG1fc2hhZG93UGFyZW50KHNoYWRvd1BhcmVudCkKKyAgICA6IFNoYWRvd0Jsb2NrRWxlbWVudChz
aGFkb3dQYXJlbnQpCiAgICAgLCBtX2luRHJhZ01vZGUoZmFsc2UpCiB7CiB9CkBAIC05MCw3ICs4
Myw3IEBAIGlubGluZSBQYXNzUmVmUHRyPFNsaWRlclRodW1iRWxlbWVudD4gU2xpZGVyVGh1bWJF
bGVtZW50OjpjcmVhdGUoTm9kZSogc2hhZG93UGFyCiB2b2lkIFNsaWRlclRodW1iRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKCFldmVudC0+aXNN
b3VzZUV2ZW50KCkpIHsKLSAgICAgICAgSFRNTERpdkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRs
ZXIoZXZlbnQpOworICAgICAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRs
ZXIoZXZlbnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMTQsNyArMTA3LDcgQEAg
dm9pZCBTbGlkZXJUaHVtYkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50
KQogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIG1faW5EcmFnTW9kZSA9IHRy
dWU7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCkt
PnNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZShtX3NoYWRvd1BhcmVudCk7CisgICAgICAgICAg
ICAgICAgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01v
dXNlRXZlbnRzTm9kZShzaGFkb3dQYXJlbnROb2RlKCkpOwogICAgICAgICAgICAgICAgIGV2ZW50
LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KQEAgLTE0MCw3ICsxMzMsNyBAQCB2b2lkIFNsaWRlclRodW1iRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBIVE1M
RGl2RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CisgICAgU2hhZG93QmxvY2tF
bGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKIH0KIAogdm9pZCBTbGlkZXJUaHVt
YkVsZW1lbnQ6OmRldGFjaCgpCkBAIC0xNDksNyArMTQyLDcgQEAgdm9pZCBTbGlkZXJUaHVtYkVs
ZW1lbnQ6OmRldGFjaCgpCiAgICAgICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5m
cmFtZSgpKQogICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRDYXB0dXJpbmdN
b3VzZUV2ZW50c05vZGUoMCk7ICAgICAgCiAgICAgfQotICAgIEhUTUxEaXZFbGVtZW50OjpkZXRh
Y2goKTsKKyAgICBTaGFkb3dCbG9ja0VsZW1lbnQ6OmRldGFjaCgpOwogfQogCiBSZW5kZXJTbGlk
ZXI6OlJlbmRlclNsaWRlcihIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvU2hhZG93RWxlbWVudC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9T
aGFkb3dFbGVtZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWE5MjMzMzE3ODk2ODBkM2M3ZWZmNWIwZTg2
NDI2MGNjNzRkZDg0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU2hhZG93
RWxlbWVudC5jcHAKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwg
MjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2hhZG93RWxlbWVudC5oIgorCisjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxT
aGFkb3dCbG9ja0VsZW1lbnQ+IFNoYWRvd0Jsb2NrRWxlbWVudDo6Y3JlYXRlKE5vZGUqIHNoYWRv
d1BhcmVudCkKK3sKKyAgICByZXR1cm4gbmV3IFNoYWRvd0Jsb2NrRWxlbWVudChzaGFkb3dQYXJl
bnQpOworfQorCitTaGFkb3dCbG9ja0VsZW1lbnQ6OlNoYWRvd0Jsb2NrRWxlbWVudChOb2RlKiBz
aGFkb3dQYXJlbnQpCisgICAgOiBTaGFkb3dFbGVtZW50PEhUTUxEaXZFbGVtZW50PihIVE1MTmFt
ZXM6OmRpdlRhZywgc2hhZG93UGFyZW50KQoreworfQorCitQYXNzUmVmUHRyPFNoYWRvd0lucHV0
RWxlbWVudD4gU2hhZG93SW5wdXRFbGVtZW50OjpjcmVhdGUoTm9kZSogc2hhZG93UGFyZW50KQor
eworICAgIHJldHVybiBuZXcgU2hhZG93SW5wdXRFbGVtZW50KHNoYWRvd1BhcmVudCk7Cit9CisK
K1NoYWRvd0lucHV0RWxlbWVudDo6U2hhZG93SW5wdXRFbGVtZW50KE5vZGUqIHNoYWRvd1BhcmVu
dCkKKyAgICA6IFNoYWRvd0VsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oSFRNTE5hbWVzOjppbnB1
dFRhZywgc2hhZG93UGFyZW50KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TaGFkb3dFbGVtZW50LmggYi9XZWJDb3JlL3JlbmRl
cmluZy9TaGFkb3dFbGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTAwMzBlZTM1MzkwZWM0YmZhMTE0Mjli
YTg2YWM3OGM0YWU2NmM4NAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1No
YWRvd0VsZW1lbnQuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4
LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNoYWRv
d0VsZW1lbnRfaAorI2RlZmluZSBTaGFkb3dFbGVtZW50X2gKKworI2luY2x1ZGUgIkhUTUxEaXZF
bGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3RlbXBsYXRlPGNsYXNzIEJhc2VFbGVtZW50PgorY2xhc3MgU2hhZG93RWxlbWVu
dCA6IHB1YmxpYyBCYXNlRWxlbWVudCB7Citwcm90ZWN0ZWQ6CisgICAgU2hhZG93RWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBOb2RlKiBzaGFkb3dQYXJlbnQpCisgICAgICAgIDog
QmFzZUVsZW1lbnQobmFtZSwgc2hhZG93UGFyZW50LT5kb2N1bWVudCgpKQorICAgICAgICAsIG1f
c2hhZG93UGFyZW50KHNoYWRvd1BhcmVudCkKKyAgICB7fQorCisgICAgdmlydHVhbCBib29sIGlz
U2hhZG93Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIE5vZGUqIHNo
YWRvd1BhcmVudE5vZGUoKSB7IHJldHVybiBtX3NoYWRvd1BhcmVudDsgfQorCitwcml2YXRlOgor
ICAgIE5vZGUqIG1fc2hhZG93UGFyZW50OworfTsKKworY2xhc3MgU2hhZG93QmxvY2tFbGVtZW50
IDogcHVibGljIFNoYWRvd0VsZW1lbnQ8SFRNTERpdkVsZW1lbnQ+IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dCbG9ja0VsZW1lbnQ+IGNyZWF0ZShOb2RlKik7Citwcm90
ZWN0ZWQ6CisgICAgU2hhZG93QmxvY2tFbGVtZW50KE5vZGUqKTsKK307CisKK2NsYXNzIFNoYWRv
d0lucHV0RWxlbWVudCA6IHB1YmxpYyBTaGFkb3dFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dJbnB1dEVsZW1lbnQ+IGNyZWF0
ZShOb2RlKik7Citwcm90ZWN0ZWQ6CisgICAgU2hhZG93SW5wdXRFbGVtZW50KE5vZGUqKTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFNoYWRvd0VsZW1lbnRfaAo=
</data>
<flag name="review"
          id="43385"
          type_id="1"
          status="+"
          setter="tkent"
    />
          </attachment>
      

    </bug>

</bugzilla>