<?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>67262</bug_id>
          
          <creation_ts>2011-08-30 21:41:09 -0700</creation_ts>
          <short_desc>REGRESSION(r94142): Broke isindex element (Requested by rniwa on #webkit).</short_desc>
          <delta_ts>2011-08-30 21:44:11 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>67175</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>darin</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>459424</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-30 21:41:09 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/94142 broke the build:
Broke isindex element (Requested by rniwa on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459425</commentid>
    <comment_count>1</comment_count>
      <attachid>105737</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-30 21:41:37 -0700</bug_when>
    <thetext>Created attachment 105737
ROLLOUT of r94142

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459426</commentid>
    <comment_count>2</comment_count>
      <attachid>105737</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-08-30 21:44:08 -0700</bug_when>
    <thetext>Comment on attachment 105737
ROLLOUT of r94142

Clearing flags on attachment: 105737

Committed r94149: &lt;http://trac.webkit.org/changeset/94149&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459427</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-08-30 21:44:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105737</attachid>
            <date>2011-08-30 21:41:37 -0700</date>
            <delta_ts>2011-08-30 21:44:07 -0700</delta_ts>
            <desc>ROLLOUT of r94142</desc>
            <filename>bug-67262-20110831044058.patch</filename>
            <type>text/plain</type>
            <size>40582</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQxNDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxZGMyMGQ1MjM5ZTZiMjIz
Mjg5YzIxMTEyYjk5MzU4ZjRmODFhZTc2Li5iODk1NmJiMWJhMWZiNDVjNjEzNDBhNzQ5NmRjYTQ4
OGU0YmExYmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMTEtMDgtMzAgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI5NDE0Miwgcjk0MTQ0LCByOTQxNDUsIGFuZCByOTQxNDguCisgICAg
ICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk0MTQyCisgICAgICAgIGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk0MTQ0CisgICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0Lzk0MTQ1CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0Lzk0MTQ4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NzI2MgorCisgICAgICAgIEJyb2tlIGlzaW5kZXggZWxlbWVudCAoUmVxdWVzdGVk
IGJ5IHJuaXdhIG9uICN3ZWJraXQpLgorCisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6dGV4dE1hcmtlckRhdGFGb3JWaXNpYmxlUG9zaXRpb24pOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojppc1Bhc3N3b3JkRmllbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNJbmRldGVybWlu
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzTmF0
aXZlQ2hlY2tib3hPclJhZGlvKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmlzQ2hlY2tlZCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y2FuU2hhcmVTdHlsZVdpdGhD
b250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFkanVzdFJlbmRl
clN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hl
Y2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVj
dG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKiBkb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDaGVja2VkUmFkaW9CdXR0b25zOjphZGRCdXR0b24pOgor
ICAgICAgICAoV2ViQ29yZTo6Q2hlY2tlZFJhZGlvQnV0dG9uczo6cmVtb3ZlQnV0dG9uKToKKyAg
ICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjp0b0lucHV0RWxl
bWVudCk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjppc0luUGFzc3dv
cmRGaWVsZCk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp0b0lucHV0RWxlbWVudCk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNsaWRl
clRodW1iRWxlbWVudE9mKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNsaWRlclRodW1iOjps
YXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2xpZGVyQ29udGFpbmVyOjpsYXlvdXQp
OgorICAgICAgICAoV2ViQ29yZTo6U2xpZGVyVGh1bWJFbGVtZW50Ojpob3N0SW5wdXQpOgorICAg
ICAgICAoV2ViQ29yZTo6dHJhY2tMaW1pdGVyRWxlbWVudE9mKToKKyAgICAgICAgKiBodG1sL3No
YWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQpOgorICAgICAgICAo
V2ViQ29yZTo6U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFu
ZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQ6
OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVs
ZW1lbnQ6OnJlcGVhdGluZ1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRGaWVs
ZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5wdXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6OnNldFJlY29nbml0aW9uUmVzdWx0
KToKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmFzRmlsZUlucHV0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVFZmw6OnBhaW50VGhlbWVQYXJ0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6UmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZTo6aW5wdXRFbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmlzQ2hlY2tlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZTo6aXNJbmRldGVybWluYXRlKToKKwogMjAxMS0wOC0zMCAgRGF2
aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUXVpY2sgZml4IGZvciBj
cmFzaGluZyB0ZXN0cyBjYXVzZWQgYnkgcjk0MTQyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5vcmRlciBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggYjQ5
NWZiYzUwODdmYzY5MTBiZTc4ZWFlYmVlNzNkNDEzNjcyMjA0ZC4uZjRmZDhhNDQxN2Q5MDI4OTc5
NGRmMDRmMTQ5ZTZiYmM2YjNlMzAxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5vcmRlcgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC0zMjIzLDYgKzMy
MjMsNyBAQCBfX1pOM1dURjlIYXNoVGFibGVJUE5TXzE2QXRvbWljU3RyaW5nSW1wbEVTMl9OU18x
N0lkZW50aXR5RXh0cmFjdG9ySVMyX0VFTlNfN1B0cgogX19aTjNXVEY5SGFzaFRhYmxlSVBOU18x
NkF0b21pY1N0cmluZ0ltcGxFUzJfTlNfMTdJZGVudGl0eUV4dHJhY3RvcklTMl9FRU5TXzdQdHJI
YXNoSVMyX0VFTlNfMTBIYXNoVHJhaXRzSVMyX0VFUzhfRTRmaW5kSVMyX05TXzIySWRlbnRpdHlI
YXNoVHJhbnNsYXRvcklTMl9TMl9TNl9FRUVFTlNfMTdIYXNoVGFibGVJdGVyYXRvcklTMl9TMl9T
NF9TNl9TOF9TOF9FRVJLVF8KIF9fWk43V2ViQ29yZTExQ1NTU2VsZWN0b3I4cHNldWRvSWRFTlMw
XzEwUHNldWRvVHlwZUUKIF9fWk5LN1dlYkNvcmUyMkhUTUxGb3JtQ29udHJvbEVsZW1lbnQyMGlz
Rm9ybUNvbnRyb2xFbGVtZW50RXYKK19fWk43V2ViQ29yZTE2SFRNTElucHV0RWxlbWVudDE0dG9J
bnB1dEVsZW1lbnRFdgogX19aTks3V2ViQ29yZTIySFRNTEZvcm1Db250cm9sRWxlbWVudDIwaXNF
bmFibGVkRm9ybUNvbnRyb2xFdgogX19aTks3V2ViQ29yZTIySFRNTEZvcm1Db250cm9sRWxlbWVu
dDhkaXNhYmxlZEV2CiBfX1pOSzdXZWJDb3JlNE5vZGUxNXJhcmVEYXRhRm9jdXNlZEV2CkBAIC00
MjQxLDYgKzQyNDIsNyBAQCBfX1pOM1dURjlIYXNoVGFibGVJTlNfNlN0cmluZ0VTdDRwYWlySVMx
X043V2ViQ29yZTE3QWNjZXNzaWJpbGl0eVJvbGVFRU5TXzE4UGFpcgogX19aTjNXVEY5SGFzaFRh
YmxlSU5TXzZTdHJpbmdFU3Q0cGFpcklTMV9ON1dlYkNvcmUxN0FjY2Vzc2liaWxpdHlSb2xlRUVO
U18xOFBhaXJGaXJzdEV4dHJhY3RvcklTNV9FRU5TXzE1Q2FzZUZvbGRpbmdIYXNoRU5TXzE0UGFp
ckhhc2hUcmFpdHNJTlNfMTBIYXNoVHJhaXRzSVMxX0VFTlNBX0lTNF9FRUVFU0JfRTNhZGRJUzFf
UzRfTlNfMTdIYXNoTWFwVHJhbnNsYXRvcklTNV9TRF9TOF9FRUVFUzJfSU5TXzE3SGFzaFRhYmxl
SXRlcmF0b3JJUzFfUzVfUzdfUzhfU0RfU0JfRUViRVJLVF9SS1QwXwogX19aTjNXVEY5SGFzaFRh
YmxlSU5TXzZTdHJpbmdFU3Q0cGFpcklTMV9ON1dlYkNvcmUxN0FjY2Vzc2liaWxpdHlSb2xlRUVO
U18xOFBhaXJGaXJzdEV4dHJhY3RvcklTNV9FRU5TXzE1Q2FzZUZvbGRpbmdIYXNoRU5TXzE0UGFp
ckhhc2hUcmFpdHNJTlNfMTBIYXNoVHJhaXRzSVMxX0VFTlNBX0lTNF9FRUVFU0JfRTZsb29rdXBJ
UzFfTlNfMjJJZGVudGl0eUhhc2hUcmFuc2xhdG9ySVMxX1M1X1M4X0VFRUVQUzVfUktUXwogX19a
TjNXVEY5SGFzaFRhYmxlSU5TXzZTdHJpbmdFU3Q0cGFpcklTMV9ON1dlYkNvcmUxN0FjY2Vzc2li
aWxpdHlSb2xlRUVOU18xOFBhaXJGaXJzdEV4dHJhY3RvcklTNV9FRU5TXzE1Q2FzZUZvbGRpbmdI
YXNoRU5TXzE0UGFpckhhc2hUcmFpdHNJTlNfMTBIYXNoVHJhaXRzSVMxX0VFTlNBX0lTNF9FRUVF
U0JfRTZyZWhhc2hFaQorX19aTjdXZWJDb3JlNE5vZGUxNHRvSW5wdXRFbGVtZW50RXYKIF9fWk5L
N1dlYkNvcmUxM1Jvb3RJbmxpbmVCb3gxOWxpbmVCcmVha0JpZGlTdGF0dXNFdgogX19aTks3V2Vi
Q29yZTEzSW5saW5lRmxvd0JveDEzbGFzdExlYWZDaGlsZEV2CiBfX1pOSzdXZWJDb3JlOUlubGlu
ZUJveDZpc0xlYWZFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5jcHAKaW5kZXggMjVjMmNkZWM1NjU5Y2ZkM2UzYTRkNGUyOGI3NjgzMWJjMDY5ZDMwNy4u
MWM5YjQ2YTVhNTk5NGI2Y2QyZWIxNjJiZGFiNzAyODBjODAyYTliYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC02MTUsOCArNjE1LDEx
IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4dE1hcmtlckRhdGFGb3JWaXNpYmxlUG9zaXRpb24o
VGV4dE1hcmtlckRhdGEmIHRleHRNYXJrZXJECiAgICAgaWYgKCFkb21Ob2RlKQogICAgICAgICBy
ZXR1cm47CiAgICAgCi0gICAgaWYgKGRvbU5vZGUtPmlzSFRNTEVsZW1lbnQoKSAmJiBkb21Ob2Rl
LT5oYXNUYWdOYW1lKGlucHV0VGFnKSAmJiB0b0hUTUxJbnB1dEVsZW1lbnQoZG9tTm9kZSktPmlz
UGFzc3dvcmRGaWVsZCgpKQotICAgICAgICByZXR1cm47CisgICAgaWYgKGRvbU5vZGUtPmlzSFRN
TEVsZW1lbnQoKSkgeworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSBk
b21Ob2RlLT50b0lucHV0RWxlbWVudCgpOworICAgICAgICBpZiAoaW5wdXRFbGVtZW50ICYmIGlu
cHV0RWxlbWVudC0+aXNQYXNzd29yZEZpZWxkKCkpCisgICAgICAgICAgICByZXR1cm47CisgICAg
fQogICAgIAogICAgIC8vIGxvY2F0ZSB0aGUgcmVuZGVyZXIsIHdoaWNoIG11c3QgZXhpc3QgZm9y
IGEgdmlzaWJsZSBkb20gbm9kZQogICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBkb21Ob2Rl
LT5yZW5kZXJlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggNmY4M2RmZmIxNzc5MjVjMzdi
NjkxMmE0MTc5Mjc4OThiMjczMGY1NC4uZjJjMmUzNjVkOGJmN2M4MzBhZTMyYzAyMmZjYjQzYTBl
MDllN2I0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC00OTQsMTIgKzQ5NCwxNiBAQCBib29s
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzQXR0YWNobWVudCgpIGNvbnN0CiBib29sIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzUGFzc3dvcmRGaWVsZCgpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKG1fcmVuZGVyZXIpOwotICAgIGlmICghbV9yZW5kZXJlci0+bm9kZSgpIHx8ICFtX3Jl
bmRlcmVyLT5ub2RlKCktPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQorICAgIGlmICghbV9yZW5kZXJl
ci0+bm9kZSgpIHx8ICFtX3JlbmRlcmVyLT5ub2RlKCktPmlzSFRNTEVsZW1lbnQoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChhcmlhUm9sZUF0dHJpYnV0ZSgpICE9IFVua25vd25S
b2xlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gdG9IVE1MSW5wdXRFbGVt
ZW50KG1fcmVuZGVyZXItPm5vZGUoKSktPmlzUGFzc3dvcmRGaWVsZCgpOworICAgIEhUTUxJbnB1
dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IG1fcmVuZGVyZXItPm5vZGUoKS0+dG9JbnB1dEVsZW1l
bnQoKTsKKyAgICBpZiAoIWlucHV0RWxlbWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgcmV0dXJuIGlucHV0RWxlbWVudC0+aXNQYXNzd29yZEZpZWxkKCk7CiB9CiAgICAgCiBib29s
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzRmlsZVVwbG9hZEJ1dHRvbigpIGNvbnN0CkBA
IC01ODUsMjAgKzU4OSwyNiBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzUHJl
c3NlZCgpIGNvbnN0CiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzSW5kZXRlcm1p
bmF0ZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fcmVuZGVyZXIpOwotICAgIGlmICghbV9yZW5k
ZXJlci0+bm9kZSgpIHx8ICFtX3JlbmRlcmVyLT5ub2RlKCktPmhhc1RhZ05hbWUoaW5wdXRUYWcp
KQorICAgIGlmICghbV9yZW5kZXJlci0+bm9kZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICByZXR1cm4gdG9IVE1MSW5wdXRFbGVtZW50KG1fcmVuZGVyZXItPm5vZGUoKSktPmlzSW5k
ZXRlcm1pbmF0ZSgpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IG1fcmVu
ZGVyZXItPm5vZGUoKS0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICBpZiAoIWlucHV0RWxlbWVudCkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGlucHV0RWxlbWVudC0+aXNJbmRl
dGVybWluYXRlKCk7CiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNOYXRp
dmVDaGVja2JveE9yUmFkaW8oKSBjb25zdAogewotICAgIEFTU0VSVChtX3JlbmRlcmVyKTsKLSAg
ICBpZiAoIW1fcmVuZGVyZXItPm5vZGUoKSB8fCAhbV9yZW5kZXJlci0+bm9kZSgpLT5oYXNUYWdO
YW1lKGlucHV0VGFnKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgSFRNTElucHV0RWxl
bWVudCogaW5wdXQgPSB0b0hUTUxJbnB1dEVsZW1lbnQobV9yZW5kZXJlci0+bm9kZSgpKTsKLSAg
ICByZXR1cm4gaW5wdXQtPmlzQ2hlY2tib3goKSB8fCBpbnB1dC0+aXNSYWRpb0J1dHRvbigpOwor
ICAgIE5vZGUqIGVsZW1lbnROb2RlID0gbm9kZSgpOworICAgIGlmIChlbGVtZW50Tm9kZSkgewor
ICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IGVsZW1lbnROb2RlLT50b0lucHV0RWxl
bWVudCgpOworICAgICAgICBpZiAoaW5wdXQpCisgICAgICAgICAgICByZXR1cm4gaW5wdXQtPmlz
Q2hlY2tib3goKSB8fCBpbnB1dC0+aXNSYWRpb0J1dHRvbigpOworICAgIH0KKyAgICAKKyAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAgICAgCiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6Omlz
Q2hlY2tlZCgpIGNvbnN0CkBAIC02MDgsOCArNjE4LDkgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0Ojppc0NoZWNrZWQoKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICAvLyBGaXJzdCB0ZXN0IGZvciBuYXRpdmUgY2hlY2tlZG5lc3Mgc2VtYW50aWNzCi0gICAgaWYg
KG1fcmVuZGVyZXItPm5vZGUoKS0+aGFzVGFnTmFtZShpbnB1dFRhZykpCi0gICAgICAgIHJldHVy
biB0b0hUTUxJbnB1dEVsZW1lbnQobV9yZW5kZXJlci0+bm9kZSgpKS0+c2hvdWxkQXBwZWFyQ2hl
Y2tlZCgpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IG1fcmVuZGVyZXIt
Pm5vZGUoKS0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICBpZiAoaW5wdXRFbGVtZW50KQorICAgICAg
ICByZXR1cm4gaW5wdXRFbGVtZW50LT5zaG91bGRBcHBlYXJDaGVja2VkKCk7CiAKICAgICAvLyBF
bHNlLCBpZiB0aGlzIGlzIGFuIEFSSUEgY2hlY2tib3ggb3IgcmFkaW8sIHJlc3BlY3QgdGhlIGFy
aWEtY2hlY2tlZCBhdHRyaWJ1dGUKICAgICBBY2Nlc3NpYmlsaXR5Um9sZSBhcmlhUm9sZSA9IGFy
aWFSb2xlQXR0cmlidXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAK
aW5kZXggNzFlZTAyOTdlZTE3ZTRlYWEwZjNhOTYzYmM2OWQ1OTdmYTZiYWE2NS4uODFiMmNlMTQ1
YTFiMjBiMTEyMzM4MzFmZmU3Y2UxOWE5YjM3NzBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcApAQCAtOTU5LDE0ICs5NTksMTIgQEAgYm9vbCBDU1NTdHlsZVNlbGVj
dG9yOjpjYW5TaGFyZVN0eWxlV2l0aENvbnRyb2woU3R5bGVkRWxlbWVudCogZWxlbWVudCkgY29u
c3QKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogI2VuZGlmCi0KLSAgICBBU1NFUlQoZWxl
bWVudCk7Ci0gICAgQVNTRVJUKG1fZWxlbWVudCk7Ci0gICAgaWYgKCFlbGVtZW50LT5oYXNUYWdO
YW1lKGlucHV0VGFnKSB8fCAhbV9lbGVtZW50LT5oYXNUYWdOYW1lKGlucHV0VGFnKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIAotICAgIEhUTUxJbnB1dEVsZW1lbnQqIHRoaXNJbnB1dEVs
ZW1lbnQgPSB0b0hUTUxJbnB1dEVsZW1lbnQoZWxlbWVudCk7Ci0gICAgSFRNTElucHV0RWxlbWVu
dCogb3RoZXJJbnB1dEVsZW1lbnQgPSB0b0hUTUxJbnB1dEVsZW1lbnQobV9lbGVtZW50KTsKKyAg
ICBIVE1MSW5wdXRFbGVtZW50KiB0aGlzSW5wdXRFbGVtZW50ID0gZWxlbWVudC0+dG9JbnB1dEVs
ZW1lbnQoKTsKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBvdGhlcklucHV0RWxlbWVudCA9IG1fZWxl
bWVudC0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICAKKyAgICBpZiAoIXRoaXNJbnB1dEVsZW1lbnQg
fHwgIW90aGVySW5wdXRFbGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAg
aWYgKHRoaXNJbnB1dEVsZW1lbnQtPmlzQXV0b2ZpbGxlZCgpICE9IG90aGVySW5wdXRFbGVtZW50
LT5pc0F1dG9maWxsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTg5NSw3ICsxODkz
LDcgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphZGp1c3RSZW5kZXJTdHlsZShSZW5kZXJTdHls
ZSogc3R5bGUsIFJlbmRlclN0eWxlKiBwYXJlbnQKICAgICBpZiAoZSAmJiBlLT5pc0Zvcm1Db250
cm9sRWxlbWVudCgpICYmIHN0eWxlLT5mb250U2l6ZSgpID49IDExKSB7CiAgICAgICAgIC8vIERv
bid0IGFwcGx5IGludHJpbnNpYyBtYXJnaW5zIHRvIGltYWdlIGJ1dHRvbnMuICBUaGUgZGVzaWdu
ZXIga25vd3MgaG93IGJpZyB0aGUgaW1hZ2VzIGFyZSwKICAgICAgICAgLy8gc28gd2UgaGF2ZSB0
byB0cmVhdCBhbGwgaW1hZ2UgYnV0dG9ucyBhcyB0aG91Z2ggdGhleSB3ZXJlIGV4cGxpY2l0bHkg
c2l6ZWQuCi0gICAgICAgIGlmICghZS0+aGFzVGFnTmFtZShpbnB1dFRhZykgfHwgIXRvSFRNTElu
cHV0RWxlbWVudChlKS0+aXNJbWFnZUJ1dHRvbigpKQorICAgICAgICBpZiAoIWUtPmhhc1RhZ05h
bWUoaW5wdXRUYWcpIHx8ICFzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZSktPmlzSW1h
Z2VCdXR0b24oKSkKICAgICAgICAgICAgIGFkZEludHJpbnNpY01hcmdpbnMoc3R5bGUpOwogICAg
IH0KIApAQCAtMjc1OSw5ICsyNzU3LDEwIEBAIGJvb2wgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0
b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKENTU1NlbGVjdG9yKiBzZWwsIEVsZW1lCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQXV0b2ZpbGw6IHsKLSAgICAgICAgICAg
ICAgICBpZiAoIWUgfHwgIWUtPmlzRm9ybUNvbnRyb2xFbGVtZW50KCkgfHwgIWUtPmhhc1RhZ05h
bWUoaW5wdXRUYWcpKQorICAgICAgICAgICAgICAgIGlmICghZSB8fCAhZS0+aXNGb3JtQ29udHJv
bEVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIHRvSFRNTElucHV0RWxlbWVudChlKS0+aXNBdXRvZmlsbGVkKCk7CisgICAgICAgICAg
ICAgICAgaWYgKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IGUtPnRvSW5wdXRFbGVt
ZW50KCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBpbnB1dEVsZW1lbnQtPmlzQXV0b2Zp
bGxlZCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTGluazoKQEAgLTI4NDgsMjAgKzI4NDcsMjAgQEAg
Ym9vbCBDU1NTdHlsZVNlbGVjdG9yOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3Io
Q1NTU2VsZWN0b3IqIHNlbCwgRWxlbWUKICAgICAgICAgICAgICAgICBlLT5kb2N1bWVudCgpLT5z
ZXRDb250YWluc1ZhbGlkaXR5U3R5bGVSdWxlcygpOwogICAgICAgICAgICAgICAgIHJldHVybiAo
ZS0+d2lsbFZhbGlkYXRlKCkgJiYgIWUtPmlzVmFsaWRGb3JtQ29udHJvbEVsZW1lbnQoKSkgfHwg
ZS0+aGFzVW5hY2NlcHRhYmxlVmFsdWUoKTsKICAgICAgICAgICAgIH0gY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvQ2hlY2tlZDogewotICAgICAgICAgICAgICAgIGlmICghZSB8fCAhZS0+aXNGb3Jt
Q29udHJvbEVsZW1lbnQoKSB8fCAhZS0+aGFzVGFnTmFtZShpbnB1dFRhZykpCisgICAgICAgICAg
ICAgICAgaWYgKCFlIHx8ICFlLT5pc0Zvcm1Db250cm9sRWxlbWVudCgpKQogICAgICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAvLyBFdmVuIHRob3VnaCBXaW5JRSBhbGxv
d3MgY2hlY2tlZCBhbmQgaW5kZXRlcm1pbmF0ZSB0byBjby1leGlzdCwgdGhlIENTUyBzZWxlY3Rv
ciBzcGVjIHNheXMgdGhhdAogICAgICAgICAgICAgICAgIC8vIHlvdSBjYW4ndCBiZSBib3RoIGNo
ZWNrZWQgYW5kIGluZGV0ZXJtaW5hdGUuICBXZSB3aWxsIGJlaGF2ZSBsaWtlIFdpbklFIGJlaGlu
ZCB0aGUgc2NlbmVzIGFuZCBqdXN0CiAgICAgICAgICAgICAgICAgLy8gb2JleSB0aGUgQ1NTIHNw
ZWMgaGVyZSBpbiB0aGUgdGVzdCBmb3IgbWF0Y2hpbmcgdGhlIHBzZXVkby4KLSAgICAgICAgICAg
ICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSB0b0hUTUxJbnB1dEVsZW1lbnQo
ZSk7Ci0gICAgICAgICAgICAgICAgaWYgKGlucHV0RWxlbWVudC0+c2hvdWxkQXBwZWFyQ2hlY2tl
ZCgpICYmICFpbnB1dEVsZW1lbnQtPmlzSW5kZXRlcm1pbmF0ZSgpKQorICAgICAgICAgICAgICAg
IEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IGUtPnRvSW5wdXRFbGVtZW50KCk7Cisg
ICAgICAgICAgICAgICAgaWYgKGlucHV0RWxlbWVudCAmJiBpbnB1dEVsZW1lbnQtPnNob3VsZEFw
cGVhckNoZWNrZWQoKSAmJiAhaW5wdXRFbGVtZW50LT5pc0luZGV0ZXJtaW5hdGUoKSkKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9JbmRldGVybWlu
YXRlOiB7CiAgICAgICAgICAgICAgICAgaWYgKCFlIHx8ICFlLT5pc0Zvcm1Db250cm9sRWxlbWVu
dCgpKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKLQorICAgICAgICAgICAgICAgIAogI2lm
IEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgICAgICAgICAgaWYgKGUtPmhhc1RhZ05hbWUo
cHJvZ3Jlc3NUYWcpKSB7CiAgICAgICAgICAgICAgICAgICAgIEhUTUxQcm9ncmVzc0VsZW1lbnQq
IHByb2dyZXNzID0gc3RhdGljX2Nhc3Q8SFRNTFByb2dyZXNzRWxlbWVudCo+KGUpOwpAQCAtMjg3
MCw4ICsyODY5LDkgQEAgYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpTZWxlY3RvckNoZWNrZXI6OmNo
ZWNrT25lU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWUKICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogI2VuZGlmCi0KLSAgICAgICAgICAgICAgICBp
ZiAoZS0+aGFzVGFnTmFtZShpbnB1dFRhZykgJiYgdG9IVE1MSW5wdXRFbGVtZW50KGUpLT5pc0lu
ZGV0ZXJtaW5hdGUoKSkKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBIVE1MSW5w
dXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSBlLT50b0lucHV0RWxlbWVudCgpOworICAgICAgICAg
ICAgICAgIGlmIChpbnB1dEVsZW1lbnQgJiYgaW5wdXRFbGVtZW50LT5pc0luZGV0ZXJtaW5hdGUo
KSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9CkBAIC00ODQ0LDcgKzQ4NDQsNyBAQCB2b2lkIENTU1N0eWxlU2Vs
ZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdhcElucHV0Rm9ybWF0OgogICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUgJiYg
bV9lbGVtZW50LT5oYXNUYWdOYW1lKFdlYkNvcmU6OmlucHV0VGFnKSkgewogICAgICAgICAgICAg
U3RyaW5nIG1hc2sgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0U3RyaW5nVmFsdWUoKTsKLSAgICAgICAg
ICAgIHRvSFRNTElucHV0RWxlbWVudChtX2VsZW1lbnQpLT5zZXRXYXBJbnB1dEZvcm1hdChtYXNr
KTsKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihtX2VsZW1lbnQp
LT5zZXRXYXBJbnB1dEZvcm1hdChtYXNrKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmNwcAppbmRleCA5OTljNjg2
MzBmODRjY2FjMjdkZGQyYWJiOTgwNjY3YTlkYTMwMDIyLi4zOGU1ZWZiYmM5MWM2MGNjYjQ1YTU0
NjZlNWZiNGIyOWMwNzQxYWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hlY2tl
ZFJhZGlvQnV0dG9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1
dHRvbnMuY3BwCkBAIC0zNSw3ICszNSw3IEBAIHZvaWQgQ2hlY2tlZFJhZGlvQnV0dG9uczo6YWRk
QnV0dG9uKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgaWYgKGVsZW1lbnQt
Pm5hbWUoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEhUTUxJbnB1dEVsZW1l
bnQqIGlucHV0RWxlbWVudCA9IHRvSFRNTElucHV0RWxlbWVudChlbGVtZW50KTsKKyAgICBIVE1M
SW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50
Kj4oZWxlbWVudCk7CiAKICAgICAvLyBXZSBvbmx5IHRyYWNrIGNoZWNrZWQgYnV0dG9ucy4KICAg
ICBpZiAoIWlucHV0RWxlbWVudC0+Y2hlY2tlZCgpKQpAQCAtNzcsNyArNzcsNyBAQCB2b2lkIENo
ZWNrZWRSYWRpb0J1dHRvbnM6OnJlbW92ZUJ1dHRvbihIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBl
bGVtZW50KQogICAgIGlmIChpdCA9PSBtX25hbWVUb0NoZWNrZWRSYWRpb0J1dHRvbk1hcC0+ZW5k
KCkgfHwgaXQtPnNlY29uZCAhPSBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAg
SFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gdG9IVE1MSW5wdXRFbGVtZW50KGVsZW1l
bnQpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IGVsZW1lbnQtPnRvSW5w
dXRFbGVtZW50KCk7CiAgICAgQVNTRVJUX1VOVVNFRChpbnB1dEVsZW1lbnQsIGlucHV0RWxlbWVu
dCk7CiAgICAgQVNTRVJUKGlucHV0RWxlbWVudC0+c2hvdWxkQXBwZWFyQ2hlY2tlZCgpKTsKICAg
ICBBU1NFUlQoZWxlbWVudC0+aXNSYWRpb0J1dHRvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA5
ZDI2Nzg0ZjJhZmFhODZlNjA4YmI2OTY1ZDU4ZDE4YzZlNmRmNmQxLi4wZThjYmFmYWMwNWFlZmY5
NWEyZDQzYjRlYjg3Y2FhYzE3MDZmOTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC01NzcsNiArNTc3
LDE1IEBAIHZvaWQgTm9kZTo6c2V0U2hhZG93SG9zdChFbGVtZW50KiBob3N0KQogICAgIHNldFBh
cmVudChob3N0KTsKIH0KIAorSFRNTElucHV0RWxlbWVudCogTm9kZTo6dG9JbnB1dEVsZW1lbnQo
KQoreworICAgIC8vIElmIG9uZSBvZiB0aGUgYmVsb3cgQVNTRVJUcyB0cmlnZ2VyLCB5b3UgYXJl
IGNhbGxpbmcgdGhpcyBmdW5jdGlvbgorICAgIC8vIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgZnJv
bSBhIGNvbnN0cnVjdG9yIG9yIGRlc3RydWN0b3Igb2YgdGhpcyBvYmplY3QuCisgICAgLy8gRG9u
J3QgZG8gdGhpcyEKKyAgICBBU1NFUlQoIShpc0hUTUxFbGVtZW50KCkgJiYgaGFzVGFnTmFtZShp
bnB1dFRhZykpKTsKKyAgICByZXR1cm4gMDsKK30KKwogc2hvcnQgTm9kZTo6dGFiSW5kZXgoKSBj
b25zdAogewogICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gcmFyZURhdGEoKS0+dGFiSW5kZXgo
KSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuaAppbmRleCBiMjVmOGE5YzUwNWMxZDBlZGNhMjQ2MDAwYzY3OGQyODkz
ODIzNDE5Li41YmEwNTljMjQwYjlhMDI5ZjQ3M2UzMTg5Nzg3NjU5Zjk1OTE1MWY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmgKQEAgLTUzMyw2ICs1MzMsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIE5vZGUqIHRv
Tm9kZSgpIHsgcmV0dXJuIHRoaXM7IH0KIAorICAgIHZpcnR1YWwgSFRNTElucHV0RWxlbWVudCog
dG9JbnB1dEVsZW1lbnQoKTsKKwogICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGFkZEV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4sIGJvb2wgdXNlQ2FwdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uY3BwCmluZGV4IGQzYjQxN2ExMzZkNWY5NDhlZTNlMGU0ZTY1ZjdmMGJlNGU2
ZjY4M2QuLjE4ZmU5ZWY0YmExYmM1MGJjNDg4MzVlNTI5MzI1Y2ZjMTlmYmMwZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0xNTIyLDcgKzE1MjIsNyBA
QCBib29sIEZyYW1lU2VsZWN0aW9uOjpzZXRTZWxlY3RlZFJhbmdlKFJhbmdlKiByYW5nZSwgRUFm
ZmluaXR5IGFmZmluaXR5LCBib29sIGNsbwogYm9vbCBGcmFtZVNlbGVjdGlvbjo6aXNJblBhc3N3
b3JkRmllbGQoKSBjb25zdAogewogICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KiB0ZXh0
Q29udHJvbCA9IGVuY2xvc2luZ1RleHRGb3JtQ29udHJvbChzdGFydCgpKTsKLSAgICByZXR1cm4g
dGV4dENvbnRyb2wgJiYgdGV4dENvbnRyb2wtPmhhc1RhZ05hbWUoaW5wdXRUYWcpICYmIHRvSFRN
TElucHV0RWxlbWVudCh0ZXh0Q29udHJvbCktPmlzUGFzc3dvcmRGaWVsZCgpOworICAgIHJldHVy
biB0ZXh0Q29udHJvbCAmJiB0ZXh0Q29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRhZykgJiYgc3Rh
dGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KHRleHRDb250cm9sKS0+aXNQYXNzd29yZEZpZWxk
KCk7CiB9CiAKIHZvaWQgRnJhbWVTZWxlY3Rpb246OmZvY3VzZWRPckFjdGl2ZVN0YXRlQ2hhbmdl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IGYyZWFiZDUyMGY4
MzQyN2Y1N2RkYTA3NmVmOGM3ZTQ4MTk1Y2NkODYuLjM3Zjg0ZWJkMDk0YTdmOGY3YzdkOTllZDYw
ZjBhMzAxZDY1NjVhNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBA
IC0yNCw3ICsyNCw2IEBACiAjaWZuZGVmIEhUTUxJbnB1dEVsZW1lbnRfaAogI2RlZmluZSBIVE1M
SW5wdXRFbGVtZW50X2gKIAotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDYg
KzQyLDggQEAgcHVibGljOgogCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3
ZWJraXRzcGVlY2hjaGFuZ2UpOwogCisgICAgdmlydHVhbCBIVE1MSW5wdXRFbGVtZW50KiB0b0lu
cHV0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KKwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRB
dXRvY29tcGxldGUoKSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlCkBAIC0zNTYs
MTIgKzM1Nyw2IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPElucHV0VHlwZT4gbV9pbnB1dFR5cGU7
CiB9OwogCi1pbmxpbmUgSFRNTElucHV0RWxlbWVudCogdG9IVE1MSW5wdXRFbGVtZW50KE5vZGUq
IG5vZGUpCi17Ci0gICAgQVNTRVJUKCFub2RlIHx8IG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
OjppbnB1dFRhZykpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4o
bm9kZSk7Ci19Ci0KIH0gLy9uYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcAppbmRleCAxZmNiNDFlM2IyYzNh
ZmYxZjAyNTg4NWU5YmE3NWM4YWQ1YWRiMGVkLi41ZDE3OGFmMDc5YWI0Y2ZiZDlkMGY3MjA0M2Zh
ZjNkODdjNDhiY2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlk
ZXJUaHVtYkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRl
clRodW1iRWxlbWVudC5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJFdmVudC5oIgog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgotI2luY2x1
ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRl
ICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Lmgi
CkBAIC02Nyw4ICs2Niw3IEBAIGlubGluZSBzdGF0aWMgYm9vbCBoYXNWZXJ0aWNhbEFwcGVhcmFu
Y2UoSFRNTElucHV0RWxlbWVudCogaW5wdXQpCiBTbGlkZXJUaHVtYkVsZW1lbnQqIHNsaWRlclRo
dW1iRWxlbWVudE9mKE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUKG5vZGUpOwotICAgIEFTU0VS
VChub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKTsKLSAgICBTaGFkb3dSb290
KiBzaGFkb3cgPSB0b0hUTUxJbnB1dEVsZW1lbnQobm9kZSktPnNoYWRvd1Jvb3QoKTsKKyAgICBT
aGFkb3dSb290KiBzaGFkb3cgPSBub2RlLT50b0lucHV0RWxlbWVudCgpLT5zaGFkb3dSb290KCk7
CiAgICAgQVNTRVJUKHNoYWRvdyk7CiAgICAgTm9kZSogdGh1bWIgPSBzaGFkb3ctPmZpcnN0Q2hp
bGQoKS0+Zmlyc3RDaGlsZCgpLT5maXJzdENoaWxkKCk7CiAgICAgQVNTRVJUKHRodW1iKTsKQEAg
LTEwNSw4ICsxMDMsNyBAQCB2b2lkIFJlbmRlclNsaWRlclRodW1iOjpsYXlvdXQoKQogewogICAg
IC8vIERvIG5vdCBjYXN0IG5vZGUoKSB0byBTbGlkZXJUaHVtYkVsZW1lbnQuIFRoaXMgcmVuZGVy
ZXIgaXMgdXNlZCBmb3IKICAgICAvLyBUcmFja0xpbWl0RWxlbWVudCB0b28uCi0gICAgQVNTRVJU
KG5vZGUoKS0+c2hhZG93QW5jZXN0b3JOb2RlKCktPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1
dFRhZykpOwotICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gdG9IVE1MSW5wdXRFbGVtZW50
KG5vZGUoKS0+c2hhZG93QW5jZXN0b3JOb2RlKCkpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlu
cHV0ID0gbm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUoKS0+dG9JbnB1dEVsZW1lbnQoKTsKICAg
ICBib29sIGlzVmVydGljYWwgPSBzdHlsZSgpLT5hcHBlYXJhbmNlKCkgPT0gU2xpZGVyVGh1bWJW
ZXJ0aWNhbFBhcnQgfHwgc3R5bGUoKS0+YXBwZWFyYW5jZSgpID09IE1lZGlhVm9sdW1lU2xpZGVy
VGh1bWJQYXJ0OwogCiAgICAgZG91YmxlIGZyYWN0aW9uID0gc2xpZGVyUG9zaXRpb24oaW5wdXQp
ICogMTAwOwpAQCAtMTM1LDggKzEzMiw3IEBAIHByaXZhdGU6CiAKIHZvaWQgUmVuZGVyU2xpZGVy
Q29udGFpbmVyOjpsYXlvdXQoKQogewotICAgIEFTU0VSVChub2RlKCktPnNoYWRvd0FuY2VzdG9y
Tm9kZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKTsKLSAgICBIVE1MSW5wdXRF
bGVtZW50KiBpbnB1dCA9IHRvSFRNTElucHV0RWxlbWVudChub2RlKCktPnNoYWRvd0FuY2VzdG9y
Tm9kZSgpKTsKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IG5vZGUoKS0+c2hhZG93QW5j
ZXN0b3JOb2RlKCktPnRvSW5wdXRFbGVtZW50KCk7CiAgICAgYm9vbCBpc1ZlcnRpY2FsID0gaGFz
VmVydGljYWxBcHBlYXJhbmNlKGlucHV0KTsKICAgICBzdHlsZSgpLT5zZXRCb3hPcmllbnQoaXNW
ZXJ0aWNhbCA/IFZFUlRJQ0FMIDogSE9SSVpPTlRBTCk7CiAgICAgLy8gU2V0cyB0aGUgY29uY3Jl
dGUgaGVpZ2h0IGlmIHRoZSBoZWlnaHQgb2YgdGhlIDxpbnB1dD4gaXMgbm90IGZpeGVkIG9yIGEK
QEAgLTMxNyw4ICszMTMsNyBAQCBIVE1MSW5wdXRFbGVtZW50KiBTbGlkZXJUaHVtYkVsZW1lbnQ6
Omhvc3RJbnB1dCgpIGNvbnN0CiB7CiAgICAgLy8gT25seSBIVE1MSW5wdXRFbGVtZW50IGNyZWF0
ZXMgU2xpZGVyVGh1bWJFbGVtZW50IGluc3RhbmNlcyBhcyBpdHMgc2hhZG93IG5vZGVzLgogICAg
IC8vIFNvLCBzaGFkb3dBbmNlc3Rvck5vZGUoKSBtdXN0IGJlIGFuIEhUTUxJbnB1dEVsZW1lbnQu
Ci0gICAgQVNTRVJUKHNoYWRvd0FuY2VzdG9yTm9kZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6
aW5wdXRUYWcpKTsKLSAgICByZXR1cm4gdG9IVE1MSW5wdXRFbGVtZW50KHNoYWRvd0FuY2VzdG9y
Tm9kZSgpKTsKKyAgICByZXR1cm4gc2hhZG93QW5jZXN0b3JOb2RlKCktPnRvSW5wdXRFbGVtZW50
KCk7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgU2xpZGVyVGh1bWJFbGVtZW50OjpzaGFkb3dQ
c2V1ZG9JZCgpIGNvbnN0CkBAIC0zNTYsOCArMzUxLDcgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBU
cmFja0xpbWl0ZXJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiBUcmFja0xpbWl0ZXJF
bGVtZW50KiB0cmFja0xpbWl0ZXJFbGVtZW50T2YoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlQo
bm9kZSk7Ci0gICAgQVNTRVJUKG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykp
OwotICAgIFNoYWRvd1Jvb3QqIHNoYWRvdyA9IHRvSFRNTElucHV0RWxlbWVudChub2RlKS0+c2hh
ZG93Um9vdCgpOworICAgIFNoYWRvd1Jvb3QqIHNoYWRvdyA9IG5vZGUtPnRvSW5wdXRFbGVtZW50
KCktPnNoYWRvd1Jvb3QoKTsKICAgICBBU1NFUlQoc2hhZG93KTsKICAgICBOb2RlKiBsaW1pdGVy
ID0gc2hhZG93LT5maXJzdENoaWxkKCktPmxhc3RDaGlsZCgpOwogICAgIEFTU0VSVChsaW1pdGVy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5u
ZXJFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElu
bmVyRWxlbWVudHMuY3BwCmluZGV4IGNmMzdlN2I3YjJjNWUxNDcwMzYwMTM0NWYwYzEyNDc3NzMw
M2I0YmEuLmRhOTA4NGUzNWVmYjE4ZjlkYTQxMDEwYzNkZTJiYzM4NmZmYjg5MGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1l
bnRzLmNwcApAQCAtMTI4LDIxICsxMjgsMjIgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHJlc3VsdHNEZWNvcmF0aW9uSWQsICgiLXdl
YmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIikpOwogICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBkZWNvcmF0aW9uSWQsICgiLXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlv
biIpKTsKICAgICBOb2RlKiBob3N0ID0gc2hhZG93QW5jZXN0b3JOb2RlKCk7Ci0gICAgaWYgKCFo
b3N0IHx8ICFob3N0LT5oYXNUYWdOYW1lKGlucHV0VGFnKSkKKyAgICBpZiAoIWhvc3QpCiAgICAg
ICAgIHJldHVybiByZXN1bHRzSWQ7Ci0KLSAgICBpbnQgbWF4UmVzdWx0cyA9IHRvSFRNTElucHV0
RWxlbWVudChob3N0KS0+bWF4UmVzdWx0cygpOwotICAgIGlmIChtYXhSZXN1bHRzIDwgMCkKLSAg
ICAgICAgcmV0dXJuIGRlY29yYXRpb25JZDsKLSAgICBpZiAobWF4UmVzdWx0cyA+IDApCi0gICAg
ICAgIHJldHVybiByZXN1bHRzSWQ7Ci0gICAgcmV0dXJuIHJlc3VsdHNEZWNvcmF0aW9uSWQ7Cisg
ICAgaWYgKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gaG9zdC0+dG9JbnB1dEVsZW1lbnQoKSkg
eworICAgICAgICBpZiAoaW5wdXQtPm1heFJlc3VsdHMoKSA8IDApCisgICAgICAgICAgICByZXR1
cm4gZGVjb3JhdGlvbklkOworICAgICAgICBpZiAoaW5wdXQtPm1heFJlc3VsdHMoKSA+IDApCisg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0c0lkOworICAgICAgICByZXR1cm4gcmVzdWx0c0RlY29y
YXRpb25JZDsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdHNJZDsKIH0KIAogdm9pZCBTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVu
dCkKIHsKICAgICAvLyBPbiBtb3VzZWRvd24sIGJyaW5nIHVwIGEgbWVudSwgaWYgbmVlZGVkCi0g
ICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSB0b0hUTUxJbnB1dEVsZW1lbnQoc2hhZG93QW5j
ZXN0b3JOb2RlKCkpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8
SFRNTElucHV0RWxlbWVudCo+KHNoYWRvd0FuY2VzdG9yTm9kZSgpKTsKICAgICBpZiAoZXZlbnQt
PnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQgJiYgZXZlbnQtPmlzTW91c2VF
dmVudCgpICYmIHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCktPmJ1dHRvbigpID09IExl
ZnRCdXR0b24pIHsKICAgICAgICAgaW5wdXQtPmZvY3VzKCk7CiAgICAgICAgIGlucHV0LT5zZWxl
Y3QoKTsKQEAgLTE5MCw3ICsxOTEsNyBAQCB2b2lkIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxl
bWVudDo6ZGV0YWNoKCkKIHZvaWQgU2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVtZW50OjpkZWZh
dWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIHsKICAgICAvLyBJZiB0aGUgZWxlbWVudCBp
cyB2aXNpYmxlLCBvbiBtb3VzZXVwLCBjbGVhciB0aGUgdmFsdWUsIGFuZCBzZXQgc2VsZWN0aW9u
Ci0gICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IGlucHV0KHRvSFRNTElucHV0RWxlbWVudChz
aGFkb3dBbmNlc3Rvck5vZGUoKSkpOworICAgIFJlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBpbnB1
dChzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oc2hhZG93QW5jZXN0b3JOb2RlKCkpKTsK
ICAgICBpZiAoaW5wdXQtPmRpc2FibGVkKCkgfHwgaW5wdXQtPmlzUmVhZE9ubHlGb3JtQ29udHJv
bCgpKSB7CiAgICAgICAgIGlmICghZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCiAgICAgICAgICAg
ICBIVE1MRGl2RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CkBAIC0yNzAsNyAr
MjcxLDcgQEAgdm9pZCBTcGluQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCogZXZlbnQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSZWZQdHI8SFRNTElucHV0
RWxlbWVudD4gaW5wdXQodG9IVE1MSW5wdXRFbGVtZW50KHNoYWRvd0FuY2VzdG9yTm9kZSgpKSk7
CisgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IGlucHV0KHN0YXRpY19jYXN0PEhUTUxJbnB1
dEVsZW1lbnQqPihzaGFkb3dBbmNlc3Rvck5vZGUoKSkpOwogICAgIGlmIChpbnB1dC0+ZGlzYWJs
ZWQoKSB8fCBpbnB1dC0+aXNSZWFkT25seUZvcm1Db250cm9sKCkpIHsKICAgICAgICAgaWYgKCFl
dmVudC0+ZGVmYXVsdEhhbmRsZWQoKSkKICAgICAgICAgICAgIEhUTUxEaXZFbGVtZW50OjpkZWZh
dWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKQEAgLTM0MSw3ICszNDIsNyBAQCB2b2lkIFNwaW5CdXR0
b25FbGVtZW50OjpzdG9wUmVwZWF0aW5nVGltZXIoKQogCiB2b2lkIFNwaW5CdXR0b25FbGVtZW50
OjpyZXBlYXRpbmdUaW1lckZpcmVkKFRpbWVyPFNwaW5CdXR0b25FbGVtZW50PiopCiB7Ci0gICAg
SFRNTElucHV0RWxlbWVudCogaW5wdXQgPSB0b0hUTUxJbnB1dEVsZW1lbnQoc2hhZG93QW5jZXN0
b3JOb2RlKCkpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRN
TElucHV0RWxlbWVudCo+KHNoYWRvd0FuY2VzdG9yTm9kZSgpKTsKICAgICBpZiAoaW5wdXQtPmRp
c2FibGVkKCkgfHwgaW5wdXQtPmlzUmVhZE9ubHlGb3JtQ29udHJvbCgpKQogICAgICAgICByZXR1
cm47CiAgICAgLy8gT24gTWFjIE9TLCBOU1N0ZXBwZXIgdXBkYXRlcyB0aGUgdmFsdWUgZm9yIHRo
ZSBidXR0b24gdW5kZXIgdGhlIG1vdXNlCkBAIC00MDAsNyArNDAxLDcgQEAgdm9pZCBJbnB1dEZp
ZWxkU3BlZWNoQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQp
CiAgICAgLy8gVGhlIGNhbGwgdG8gZm9jdXMoKSBiZWxvdyBkaXNwYXRjaGVzIGEgZm9jdXMgZXZl
bnQsIGFuZCBhbiBldmVudCBoYW5kbGVyIGluIHRoZSBwYWdlIG1pZ2h0CiAgICAgLy8gcmVtb3Zl
IHRoZSBpbnB1dCBlbGVtZW50IGZyb20gRE9NLiBUbyBtYWtlIHN1cmUgaXQgcmVtYWlucyB2YWxp
ZCB1bnRpbCB3ZSBmaW5pc2ggb3VyIHdvcmsKICAgICAvLyBoZXJlLCB3ZSB0YWtlIGEgdGVtcG9y
YXJ5IHJlZmVyZW5jZS4KLSAgICBSZWZQdHI8SFRNTElucHV0RWxlbWVudD4gaW5wdXQodG9IVE1M
SW5wdXRFbGVtZW50KHNoYWRvd0FuY2VzdG9yTm9kZSgpKSk7CisgICAgUmVmUHRyPEhUTUxJbnB1
dEVsZW1lbnQ+IGlucHV0KHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihzaGFkb3dBbmNl
c3Rvck5vZGUoKSkpOwogCiAgICAgaWYgKGlucHV0LT5kaXNhYmxlZCgpIHx8IGlucHV0LT5pc1Jl
YWRPbmx5Rm9ybUNvbnRyb2woKSkgewogICAgICAgICBpZiAoIWV2ZW50LT5kZWZhdWx0SGFuZGxl
ZCgpKQpAQCAtNDg1LDcgKzQ4Niw3IEBAIHZvaWQgSW5wdXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1l
bnQ6OnNldFJlY29nbml0aW9uUmVzdWx0KGludCwgY29uc3QgU3BlZWNoSW5wdXRSCiAgICAgLy8g
VGhlIGNhbGwgdG8gc2V0VmFsdWUoKSBiZWxvdyBkaXNwYXRjaGVzIGFuIGV2ZW50LCBhbmQgYW4g
ZXZlbnQgaGFuZGxlciBpbiB0aGUgcGFnZSBtaWdodAogICAgIC8vIHJlbW92ZSB0aGUgaW5wdXQg
ZWxlbWVudCBmcm9tIERPTS4gVG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgdmFsaWQgdW50aWwgd2Ug
ZmluaXNoIG91ciB3b3JrCiAgICAgLy8gaGVyZSwgd2UgdGFrZSBhIHRlbXBvcmFyeSByZWZlcmVu
Y2UuCi0gICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IGlucHV0KHRvSFRNTElucHV0RWxlbWVu
dChzaGFkb3dBbmNlc3Rvck5vZGUoKSkpOworICAgIFJlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBp
bnB1dChzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oc2hhZG93QW5jZXN0b3JOb2RlKCkp
KTsKICAgICBpZiAoaW5wdXQtPmRpc2FibGVkKCkgfHwgaW5wdXQtPmlzUmVhZE9ubHlGb3JtQ29u
dHJvbCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxl
ci5jcHAKaW5kZXggYTg4MTUxMGM3YTgwYjU0NWRjNThkN2RkY2FhYzUzOTNlMDQ1ZjA3NC4uZDE4
MzU3ZmEwMGUyNzZjMjU4M2I0NmY0NDVmOGU4YjA5NTY3YzQ5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5jcHAKQEAgLTI1NCwyMSArMjU0LDE0IEBAIERyYWdPcGVyYXRpb24g
RHJhZ0NvbnRyb2xsZXI6OmRyYWdFbnRlcmVkT3JVcGRhdGVkKERyYWdEYXRhKiBkcmFnRGF0YSkK
IHN0YXRpYyBIVE1MSW5wdXRFbGVtZW50KiBhc0ZpbGVJbnB1dChOb2RlKiBub2RlKQogewogICAg
IEFTU0VSVChub2RlKTsKLSAgICAKLSAgICBpZiAoIW5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
OjppbnB1dFRhZykpCi0gICAgICAgIHJldHVybiAwOwogCi0gICAgSFRNTElucHV0RWxlbWVudCog
aW5wdXRFbGVtZW50ID0gdG9IVE1MSW5wdXRFbGVtZW50KG5vZGUpOworICAgIEhUTUxJbnB1dEVs
ZW1lbnQqIGlucHV0RWxlbWVudCA9IG5vZGUtPnRvSW5wdXRFbGVtZW50KCk7CiAKICAgICAvLyBJ
ZiB0aGlzIGlzIGEgYnV0dG9uIGluc2lkZSBvZiB0aGUgYSBmaWxlIGlucHV0LCBtb3ZlIHVwIHRv
IHRoZSBmaWxlIGlucHV0LgotICAgIGlmIChpbnB1dEVsZW1lbnQtPmlzVGV4dEJ1dHRvbigpICYm
IGlucHV0RWxlbWVudC0+dHJlZVNjb3BlKCktPmlzU2hhZG93Um9vdCgpKSB7Ci0gICAgICAgIG5v
ZGUgPSBpbnB1dEVsZW1lbnQtPnRyZWVTY29wZSgpLT5zaGFkb3dIb3N0KCk7Ci0gICAgICAgIGlm
ICghbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkKLSAgICAgICAgICAgIHJl
dHVybiAwOwotICAgICAgICBpbnB1dEVsZW1lbnQgPSB0b0hUTUxJbnB1dEVsZW1lbnQobm9kZSk7
Ci0gICAgfQorICAgIGlmIChpbnB1dEVsZW1lbnQgJiYgaW5wdXRFbGVtZW50LT5pc1RleHRCdXR0
b24oKSAmJiBpbnB1dEVsZW1lbnQtPnRyZWVTY29wZSgpLT5pc1NoYWRvd1Jvb3QoKSkKKyAgICAg
ICAgaW5wdXRFbGVtZW50ID0gaW5wdXRFbGVtZW50LT50cmVlU2NvcGUoKS0+c2hhZG93SG9zdCgp
LT50b0lucHV0RWxlbWVudCgpOwogCi0gICAgcmV0dXJuIGlucHV0RWxlbWVudC0+aXNGaWxlVXBs
b2FkKCkgPyBpbnB1dEVsZW1lbnQgOiAwOworICAgIHJldHVybiBpbnB1dEVsZW1lbnQgJiYgaW5w
dXRFbGVtZW50LT5pc0ZpbGVVcGxvYWQoKSA/IGlucHV0RWxlbWVudCA6IDA7CiB9CiAKIC8vIFRo
aXMgY2FuIHJldHVybiBudWxsIGlmIGFuIGVtcHR5IGRvY3VtZW50IGlzIGxvYWRlZC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuY3BwCmluZGV4IGFmMTZk
MzRiYTIzYWFmZDMyMTYwYTljOTI3ZTMzYzZkMjQxYjdmNGMuLjcyMWVlMjEyNzNiZDI1OWU2N2E1
ZDY0MjQwMzAxMTlkMmIyODA0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9SZW5kZXJUaGVtZUVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZs
L1JlbmRlclRoZW1lRWZsLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkZyYW1lVmll
dy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVs
ZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKQEAgLTMxMSw3
ICszMTAsNyBAQCBib29sIFJlbmRlclRoZW1lRWZsOjpwYWludFRoZW1lUGFydChSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgRm9ybVR5cGUgdHlwZSwgY29uc3QgUAogICAgIC8vIHRyZWF0bWVudCwgbW92
ZSB0aGVtIHRvIHNwZWNpYWwgZnVuY3Rpb25zLgogICAgIGlmICh0eXBlID09IFNsaWRlclZlcnRp
Y2FsIHx8IHR5cGUgPT0gU2xpZGVySG9yaXpvbnRhbCkgewogICAgICAgICBSZW5kZXJTbGlkZXIq
IHJlbmRlclNsaWRlciA9IHRvUmVuZGVyU2xpZGVyKG9iamVjdCk7Ci0gICAgICAgIEhUTUxJbnB1
dEVsZW1lbnQqIGlucHV0ID0gcmVuZGVyU2xpZGVyLT5ub2RlKCktPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjppbnB1dFRhZykgPyB0b0hUTUxJbnB1dEVsZW1lbnQocmVuZGVyU2xpZGVyLT5ub2RlKCkp
IDogMDsKKyAgICAgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSByZW5kZXJTbGlkZXItPm5v
ZGUoKS0+dG9JbnB1dEVsZW1lbnQoKTsKICAgICAgICAgRWRqZV9NZXNzYWdlX0Zsb2F0X1NldCog
bXNnOwogICAgICAgICBkb3VibGUgdmFsdWVSYW5nZSA9IGlucHV0LT5tYXhpbXVtKCkgLSBpbnB1
dC0+bWluaW11bSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4IDQ0YmEyOWI5NTJiMjdhYWE2ZTIw
Y2ZkMGRjM2NjMzI5ZWQ5M2Y3NzMuLjUzN2ExN2Q1NTIyYWRhOGYyMTFiYWUyZmQ3YzgxMzJjM2Zj
OGYyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCkBAIC03NSw3ICs3NSw3IEBAIFJlbmRlclRleHRDb250
cm9sU2luZ2xlTGluZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lKE5vZGUqIG5vZGUpCiAg
ICAgLCBtX3NlYXJjaFBvcHVwKDApCiB7CiAgICAgQVNTRVJUKG5vZGUtPmlzSFRNTEVsZW1lbnQo
KSk7Ci0gICAgQVNTRVJUKG5vZGUtPmhhc1RhZ05hbWUoaW5wdXRUYWcpIHx8IG5vZGUtPmhhc1Rh
Z05hbWUoaXNpbmRleFRhZykpOworICAgIEFTU0VSVChub2RlLT50b0lucHV0RWxlbWVudCgpKTsK
IH0KIAogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjp+UmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lKCkKQEAgLTc4OCw3ICs3ODgsNyBAQCBQYXNzUmVmUHRyPFNjcm9sbGJhcj4gUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lOjpjcmVhdGVTY3JvbGxiYXIoU2Nyb2xsYWJsZUFyZQogCiBI
VE1MSW5wdXRFbGVtZW50KiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmlucHV0RWxlbWVu
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHRvSFRNTElucHV0RWxlbWVudChub2RlKCkpOworICAg
IHJldHVybiBub2RlKCktPnRvSW5wdXRFbGVtZW50KCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IGQyOGNmMzJlMGMwMzIxNzU5NGI4MmU2MWFk
ZmYzZTEyMzE4ODFjMDMuLmZhZmJkYWE3YTRjNTViYjZlMmU3NTU5NmY1MDVmODQzNDMxYTcwMjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtNzM4LDE4ICs3
MzgsMjYgQEAgYm9vbCBSZW5kZXJUaGVtZTo6aXNBY3RpdmUoY29uc3QgUmVuZGVyT2JqZWN0KiBv
KSBjb25zdAogCiBib29sIFJlbmRlclRoZW1lOjppc0NoZWNrZWQoY29uc3QgUmVuZGVyT2JqZWN0
KiBvKSBjb25zdAogewotICAgIGlmICghby0+bm9kZSgpIHx8ICFvLT5ub2RlKCktPmhhc1RhZ05h
bWUoaW5wdXRUYWcpKQorICAgIGlmICghby0+bm9kZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSBvLT5ub2RlKCktPnRvSW5w
dXRFbGVtZW50KCk7CisgICAgaWYgKCFpbnB1dEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIHJldHVybiB0b0hUTUxJbnB1dEVsZW1lbnQoby0+bm9kZSgpKS0+c2hvdWxkQXBw
ZWFyQ2hlY2tlZCgpOworICAgIHJldHVybiBpbnB1dEVsZW1lbnQtPnNob3VsZEFwcGVhckNoZWNr
ZWQoKTsKIH0KIAogYm9vbCBSZW5kZXJUaGVtZTo6aXNJbmRldGVybWluYXRlKGNvbnN0IFJlbmRl
ck9iamVjdCogbykgY29uc3QKIHsKLSAgICBpZiAoIW8tPm5vZGUoKSB8fCAhby0+bm9kZSgpLT5o
YXNUYWdOYW1lKGlucHV0VGFnKSkKKyAgICBpZiAoIW8tPm5vZGUoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gby0+bm9kZSgp
LT50b0lucHV0RWxlbWVudCgpOworICAgIGlmICghaW5wdXRFbGVtZW50KQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gdG9IVE1MSW5wdXRFbGVtZW50KG8tPm5vZGUoKSktPmlz
SW5kZXRlcm1pbmF0ZSgpOworICAgIHJldHVybiBpbnB1dEVsZW1lbnQtPmlzSW5kZXRlcm1pbmF0
ZSgpOwogfQogCiBib29sIFJlbmRlclRoZW1lOjppc0VuYWJsZWQoY29uc3QgUmVuZGVyT2JqZWN0
KiBvKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwZjM3ZjUwNzJhMGIyMzRk
MGY5MzUyYTliOGFmMTQzODZhNzNkNmVkLi44NjJjMzVmNzMzMmE1ZWMxZjUxYmNjOGZjNGZhMThi
MDNkNTU0NzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisy
MDExLTA4LTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKwor
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTQxNDIsIHI5NDE0NCwgcjk0MTQ1LCBh
bmQgcjk0MTQ4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0
MgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0NAorICAgICAg
ICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0NQorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0OAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNjIKKworICAgICAgICBCcm9rZSBpc2luZGV4IGVs
ZW1lbnQgKFJlcXVlc3RlZCBieSBybml3YSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIHNyYy9F
ZGl0b3JDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6
dGV4dEZpZWxkRGlkRW5kRWRpdGluZyk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudElt
cGw6OmRvVGV4dEZpZWxkQ29tbWFuZEZyb21FdmVudCk6CisgICAgICAgICogc3JjL1dlYklucHV0
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OnRvV2ViSW5wdXRFbGVtZW50KToKKyAgICAg
ICAgKiBzcmMvV2ViUGFzc3dvcmRGb3JtVXRpbHMuY3BwOgorICAgICAgICAoV2ViS2l0OjpmaW5k
UGFzc3dvcmRGb3JtRmllbGRzKToKKwogMjAxMS0wOC0zMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBDaHJvbWl1bSBidWlsZCBmaXggYWZ0ZXIgcjk0MTQyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAppbmRl
eCBmMTJmNzM3Mjk3NGQ4M2VmMWUzNTI5N2QxY2ExZDI5MzEwOGM3OGE0Li5lZjMwNWNjMmYyZjAy
ZGYwNGM5YmU1ZDcxZWNjMjhiMGVmNDFiMWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcApAQCAtNjU0LDcgKzY1NCw3IEBAIHZvaWQgRWRp
dG9yQ2xpZW50SW1wbDo6dGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nKEVsZW1lbnQqIGVsZW1lbnQp
CiAKIHZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6dGV4dEZpZWxkRGlkRW5kRWRpdGluZyhFbGVtZW50
KiBlbGVtZW50KQogewotICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IFdlYkNv
cmU6OnRvSFRNTElucHV0RWxlbWVudChlbGVtZW50KTsKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBp
bnB1dEVsZW1lbnQgPSB0b0hUTUxJbnB1dEVsZW1lbnQoZWxlbWVudCk7CiAgICAgaWYgKG1fd2Vi
Vmlldy0+YXV0b2ZpbGxDbGllbnQoKSAmJiBpbnB1dEVsZW1lbnQpCiAgICAgICAgIG1fd2ViVmll
dy0+YXV0b2ZpbGxDbGllbnQoKS0+dGV4dEZpZWxkRGlkRW5kRWRpdGluZyhXZWJJbnB1dEVsZW1l
bnQoaW5wdXRFbGVtZW50KSk7CiAKQEAgLTY3Niw3ICs2NzYsNyBAQCB2b2lkIEVkaXRvckNsaWVu
dEltcGw6OnRleHREaWRDaGFuZ2VJblRleHRGaWVsZChFbGVtZW50KiBlbGVtZW50KQogYm9vbCBF
ZGl0b3JDbGllbnRJbXBsOjpkb1RleHRGaWVsZENvbW1hbmRGcm9tRXZlbnQoRWxlbWVudCogZWxl
bWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEtleWJvYXJkRXZlbnQqIGV2ZW50KQogewotICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxl
bWVudCA9IFdlYkNvcmU6OnRvSFRNTElucHV0RWxlbWVudChlbGVtZW50KTsKKyAgICBIVE1MSW5w
dXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSB0b0hUTUxJbnB1dEVsZW1lbnQoZWxlbWVudCk7CiAg
ICAgaWYgKG1fd2ViVmlldy0+YXV0b2ZpbGxDbGllbnQoKSAmJiBpbnB1dEVsZW1lbnQpIHsKICAg
ICAgICAgbV93ZWJWaWV3LT5hdXRvZmlsbENsaWVudCgpLT50ZXh0RmllbGREaWRSZWNlaXZlS2V5
RG93bihXZWJJbnB1dEVsZW1lbnQoaW5wdXRFbGVtZW50KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJLZXlib2FyZEV2
ZW50QnVpbGRlcigqZXZlbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJ
bnB1dEVsZW1lbnQuY3BwCmluZGV4IDE1MWZlMjVjZDZlNTJhOTU4ZWM4Njk0MDRhNDgwMDMyNzBl
Y2E2ZjkuLjVlN2ExY2ZiZTZmYTU5MDcxZTAzOWRjYjFmOWU1YzI4N2Y2YWM0OWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFbGVtZW50LmNwcApAQCAtMTczLDgg
KzE3Myw4IEBAIFdlYklucHV0RWxlbWVudDo6b3BlcmF0b3IgUGFzc1JlZlB0cjxIVE1MSW5wdXRF
bGVtZW50PigpIGNvbnN0CiAKIFdlYklucHV0RWxlbWVudCogdG9XZWJJbnB1dEVsZW1lbnQoV2Vi
RWxlbWVudCogd2ViRWxlbWVudCkKIHsKLSAgICBFbGVtZW50KiBlbGVtZW50ID0gd2ViRWxlbWVu
dC0+dW53cmFwPEVsZW1lbnQ+KCk7Ci0gICAgaWYgKCFlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxO
YW1lczo6aW5wdXRUYWcpKQorICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IHdl
YkVsZW1lbnQtPnVud3JhcDxFbGVtZW50PigpLT50b0lucHV0RWxlbWVudCgpOworICAgIGlmICgh
aW5wdXRFbGVtZW50KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxXZWJJbnB1dEVsZW1lbnQqPih3ZWJFbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBhc3N3b3JkRm9ybVV0aWxzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBhc3N3b3JkRm9ybVV0aWxzLmNwcAppbmRleCAyOWUxZDc5MTk3ODkz
ZDRlNTNjZTkxYTRkYWY2NWUyYTkyNjc2NjQyLi43NDAxNzE3N2E1NGFlYTU3NzBkOWQwODY5MTAx
ZGE3YzNiN2I1ZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
YXNzd29yZEZvcm1VdGlscy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UGFzc3dvcmRGb3JtVXRpbHMuY3BwCkBAIC03Niw3ICs3Niw3IEBAIHZvaWQgZmluZFBhc3N3b3Jk
Rm9ybUZpZWxkcyhIVE1MRm9ybUVsZW1lbnQqIGZvcm0sIFBhc3N3b3JkRm9ybUZpZWxkcyogZmll
bGRzKQogICAgICAgICBpZiAoIWZvcm1FbGVtZW50LT5oYXNMb2NhbE5hbWUoSFRNTE5hbWVzOjpp
bnB1dFRhZykpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBIVE1MSW5wdXRFbGVt
ZW50KiBpbnB1dEVsZW1lbnQgPSBXZWJDb3JlOjp0b0hUTUxJbnB1dEVsZW1lbnQoZm9ybUVsZW1l
bnQpOworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSB0b0hUTUxJbnB1
dEVsZW1lbnQoZm9ybUVsZW1lbnQpOwogICAgICAgICBpZiAoIWlucHV0RWxlbWVudC0+aXNFbmFi
bGVkRm9ybUNvbnRyb2woKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC05OCw3ICs5OCw3
IEBAIHZvaWQgZmluZFBhc3N3b3JkRm9ybUZpZWxkcyhIVE1MRm9ybUVsZW1lbnQqIGZvcm0sIFBh
c3N3b3JkRm9ybUZpZWxkcyogZmllbGRzKQogICAgICAgICAgICAgaWYgKCFmb3JtRWxlbWVudC0+
aGFzTG9jYWxOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKQogICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwogCi0gICAgICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSBXZWJD
b3JlOjp0b0hUTUxJbnB1dEVsZW1lbnQoZm9ybUVsZW1lbnQpOworICAgICAgICAgICAgSFRNTElu
cHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gdG9IVE1MSW5wdXRFbGVtZW50KGZvcm1FbGVtZW50
KTsKICAgICAgICAgICAgIGlmICghaW5wdXRFbGVtZW50LT5pc0VuYWJsZWRGb3JtQ29udHJvbCgp
KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNGIxZTRi
ZTViNzRhNDBkZDkyNDU1ZjRmZDhjOWM5NDU2ZTEyMjk5Ny4uZWYyMGRlZTA1YzhlMzM2YTMwMTU3
YjhjN2Y2ZTdlOGFmYTAxN2E1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDExLTA4LTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKwor
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTQxNDIsIHI5NDE0NCwgcjk0MTQ1LCBh
bmQgcjk0MTQ4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0
MgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0NAorICAgICAg
ICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0NQorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0OAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNjIKKworICAgICAgICBCcm9rZSBpc2luZGV4IGVs
ZW1lbnQgKFJlcXVlc3RlZCBieSBybml3YSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHA6CisgICAgICAgIChEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGs6OnNldEF1dG9maWxsZWQpOgorICAgICAgICAoRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrOjpzZXRWYWx1ZUZvclVzZXIpOgorCiAyMDExLTA4LTMwICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEdUSyBidWlsZCBmaXggYWZ0ZXIgcjk0
MTQyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKaW5kZXggOGRmNjYwOTkxYzE5NzBjMDBjNzg2
OGMwOGIxZTFhMGU3NDliMmFlNS4uNWQ1YTA3ODIyNWViMDFiZTk5YzdkY2E5YjUyZDIwMjdjY2Iy
ZjBmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5j
bHVkZSAiR0NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5j
bHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1
ZGUgIkpTRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiSlNEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpT
RWxlbWVudC5oIgpAQCAtNzU2LDIzICs3NTUsMjkgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRHdGs6OnNldEF1dG9maWxsZWQoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVSZWYgbm8K
IHsKICAgICBKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IHRvSlMoY29udGV4dCk7CiAgICAgRWxlbWVu
dCogZWxlbWVudCA9IHRvRWxlbWVudCh0b0pTKGV4ZWMsIG5vZGVPYmplY3QpKTsKLSAgICBpZiAo
IWVsZW1lbnQgfHwgIWVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpCisg
ICAgaWYgKCFlbGVtZW50KQorICAgICAgICByZXR1cm47CisgICAgSFRNTElucHV0RWxlbWVudCog
aW5wdXRFbGVtZW50ID0gZWxlbWVudC0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICBpZiAoIWlucHV0
RWxlbWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdG9IVE1MSW5wdXRFbGVtZW50KGVsZW1l
bnQpLT5zZXRBdXRvZmlsbGVkKGF1dG9maWxsZWQpOworICAgIGlucHV0RWxlbWVudC0+c2V0QXV0
b2ZpbGxlZChhdXRvZmlsbGVkKTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6
OnNldFZhbHVlRm9yVXNlcihKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBub2RlT2Jq
ZWN0LCBKU1N0cmluZ1JlZiB2YWx1ZSkKIHsKICAgICBKU0M6OkV4ZWNTdGF0ZSogZXhlYyA9IHRv
SlMoY29udGV4dCk7CiAgICAgRWxlbWVudCogZWxlbWVudCA9IHRvRWxlbWVudCh0b0pTKGV4ZWMs
IG5vZGVPYmplY3QpKTsKLSAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQtPmhhc1RhZ05hbWUo
SFRNTE5hbWVzOjppbnB1dFRhZykpCisgICAgaWYgKCFlbGVtZW50KQorICAgICAgICByZXR1cm47
CisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gZWxlbWVudC0+dG9JbnB1dEVs
ZW1lbnQoKTsKKyAgICBpZiAoIWlucHV0RWxlbWVudCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
c2l6ZV90IGJ1ZmZlclNpemUgPSBKU1N0cmluZ0dldE1heGltdW1VVEY4Q1N0cmluZ1NpemUodmFs
dWUpOwogICAgIEdPd25QdHI8Z2NoYXI+IHZhbHVlQnVmZmVyKHN0YXRpY19jYXN0PGdjaGFyKj4o
Z19tYWxsb2MoYnVmZmVyU2l6ZSkpKTsKICAgICBKU1N0cmluZ0dldFVURjhDU3RyaW5nKHZhbHVl
LCB2YWx1ZUJ1ZmZlci5nZXQoKSwgYnVmZmVyU2l6ZSk7Ci0gICAgdG9IVE1MSW5wdXRFbGVtZW50
KGVsZW1lbnQpLT5zZXRWYWx1ZUZvclVzZXIoU3RyaW5nOjpmcm9tVVRGOCh2YWx1ZUJ1ZmZlci5n
ZXQoKSkpOworICAgIGlucHV0RWxlbWVudC0+c2V0VmFsdWVGb3JVc2VyKFN0cmluZzo6ZnJvbVVU
RjgodmFsdWVCdWZmZXIuZ2V0KCkpKTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRH
dGs6OnJlY3RhbmdsZUZvclNlbGVjdGlvbihXZWJLaXRXZWJGcmFtZSogZnJhbWUsIGNhaXJvX3Jl
Y3RhbmdsZV9pbnRfdCogcmVjdGFuZ2xlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBhYTQ2ZGNkMTAwZjI1
MjNlZGY2Nzk5MDY4MzdhOGJlMjVmYzc5ZWM3Li4yZjZlOGQ0OTIwMDM4NTM0OWFjNWJhYzY1NTE4
Mjk5YzhiNjM1ZTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTA4LTMw
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByOTQxNDIsIHI5NDE0NCwgcjk0MTQ1LCBhbmQgcjk0MTQ4
LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0MgorICAgICAg
ICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0NAorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85NDE0NQorICAgICAgICBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC85NDE0OAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjcyNjIKKworICAgICAgICBCcm9rZSBpc2luZGV4IGVsZW1lbnQgKFJl
cXVlc3RlZCBieSBybml3YSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0OjpzZXRBdXRvZmlsbGVkKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
OjpzZXRWYWx1ZUZvclVzZXIpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmVs
ZW1lbnREb2VzQXV0b0NvbXBsZXRlRm9yRWxlbWVudFdpdGhJZCk6CisKIDIwMTEtMDgtMzAgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgR2V0IHJpZCBvZiB0b0lu
cHV0RWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4IGY2YzI3YzBhOWM5YzgwNGFk
MDJhYmMwOTkwN2RhNjY5N2EwYjMxODYuLmY0YTE1OTYxYzkzNjMzMGY3ZjcxYmM3ZWMyNGE0NDQ2
NDk0YzdiMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCkBAIC01Niw3ICs1Niw2IEBACiAjaW5j
bHVkZSAiR2VvbG9jYXRpb25Qb3NpdGlvbi5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAj
aW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJOb2RlTGlzdC5oIgogI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmgiCkBAIC0yMzMsMTAgKzIzMiwx
MyBAQCBib29sIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpoYXNEb2N1bWVudEVsZW1lbnQoUVdl
YkZyYW1lKiBmcmFtZSkKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldEF1dG9maWxs
ZWQoY29uc3QgUVdlYkVsZW1lbnQmIGVsZW1lbnQsIGJvb2wgaXNBdXRvZmlsbGVkKQogewogICAg
IFdlYkNvcmU6OkVsZW1lbnQqIHdlYkVsZW1lbnQgPSBlbGVtZW50Lm1fZWxlbWVudDsKLSAgICBp
ZiAoIXdlYkVsZW1lbnQgfHwgIXdlYkVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1
dFRhZykpCisgICAgaWYgKCF3ZWJFbGVtZW50KQorICAgICAgICByZXR1cm47CisgICAgSFRNTElu
cHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gd2ViRWxlbWVudC0+dG9JbnB1dEVsZW1lbnQoKTsK
KyAgICBpZiAoIWlucHV0RWxlbWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdG9IVE1MSW5w
dXRFbGVtZW50KHdlYkVsZW1lbnQpLT5zZXRBdXRvZmlsbGVkKGlzQXV0b2ZpbGxlZCk7CisgICAg
aW5wdXRFbGVtZW50LT5zZXRBdXRvZmlsbGVkKGlzQXV0b2ZpbGxlZCk7CiB9CiAKIHZvaWQgRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKFFXZWJG
cmFtZSogZnJhbWUsIGJvb2wgZW5hYmxlZCkKQEAgLTI1NiwxMCArMjU4LDEzIEBAIHZvaWQgRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKFFXZWJG
cmFtZSogZnJhbWUsIGJvCiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRWYWx1ZUZv
clVzZXIoY29uc3QgUVdlYkVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFFTdHJpbmcmIHZhbHVlKQog
ewogICAgIFdlYkNvcmU6OkVsZW1lbnQqIHdlYkVsZW1lbnQgPSBlbGVtZW50Lm1fZWxlbWVudDsK
LSAgICBpZiAoIXdlYkVsZW1lbnQgfHwgIXdlYkVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
OjppbnB1dFRhZykpCisgICAgaWYgKCF3ZWJFbGVtZW50KQorICAgICAgICByZXR1cm47CisgICAg
SFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gd2ViRWxlbWVudC0+dG9JbnB1dEVsZW1l
bnQoKTsKKyAgICBpZiAoIWlucHV0RWxlbWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdG9I
VE1MSW5wdXRFbGVtZW50KHdlYkVsZW1lbnQpLT5zZXRWYWx1ZUZvclVzZXIodmFsdWUpOworICAg
IGlucHV0RWxlbWVudC0+c2V0VmFsdWVGb3JVc2VyKHZhbHVlKTsKIH0KIAogLy8gUGF1c2UgYSBn
aXZlbiBDU1MgYW5pbWF0aW9uIG9yIHRyYW5zaXRpb24gb24gdGhlIHRhcmdldCBub2RlIGF0IGEg
c3BlY2lmaWMgdGltZS4KQEAgLTYzNiw3ICs2NDEsNyBAQCBib29sIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0OjplbGVtZW50RG9lc0F1dG9Db21wbGV0ZUZvckVsZW1lbnRXaXRoSWQoUVdlYkZyYW1l
KgogICAgIGlmICghY29yZU5vZGUgfHwgIWNvcmVOb2RlLT5yZW5kZXJlcigpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSB0b0hU
TUxJbnB1dEVsZW1lbnQoY29yZU5vZGUpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxl
bWVudCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihjb3JlTm9kZSk7CiAKICAgICBy
ZXR1cm4gaW5wdXRFbGVtZW50LT5pc1RleHRGaWVsZCgpICYmICFpbnB1dEVsZW1lbnQtPmlzUGFz
c3dvcmRGaWVsZCgpICYmIGlucHV0RWxlbWVudC0+c2hvdWxkQXV0b2NvbXBsZXRlKCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>