<?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>85741</bug_id>
          
          <creation_ts>2012-05-06 11:02:17 -0700</creation_ts>
          <short_desc>Cleanup: Change boolean synchronous flag argument into enum in FileSystem API code</short_desc>
          <delta_ts>2012-05-07 02:03:53 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Kinuko Yasuda">kinuko</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>617130</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-06 11:02:17 -0700</bug_when>
    <thetext>Cleanup: Change boolean synchronous flag argument into enum in FileSystem API code

As in general using boolean argument is discouraged in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617132</commentid>
    <comment_count>1</comment_count>
      <attachid>140426</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-06 11:06:10 -0700</bug_when>
    <thetext>Created attachment 140426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617133</commentid>
    <comment_count>2</comment_count>
      <attachid>140427</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-06 11:09:17 -0700</bug_when>
    <thetext>Created attachment 140427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617141</commentid>
    <comment_count>3</comment_count>
      <attachid>140427</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2012-05-06 11:41:15 -0700</bug_when>
    <thetext>Comment on attachment 140427
Patch

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

&gt; Source/WebCore/platform/FileSystemType.h:1
&gt; +/*

I&apos;m surprised that there aren&apos;t some build file changes to go along with this.

It would be nice to include it in build files. 

As long as this not being the those files doesn&apos;t break anything and it doesn&apos;t seem to, I would be fine with that as a follow up patch -- In fact I made this comment in the other patch so I&apos;d land both and do one follow up patch for both of them :) (but no rush on that follow up patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617462</commentid>
    <comment_count>4</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-07 01:56:56 -0700</bug_when>
    <thetext>Committed r116283: &lt;http://trac.webkit.org/changeset/116283&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617464</commentid>
    <comment_count>5</comment_count>
      <attachid>140427</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-07 02:03:53 -0700</bug_when>
    <thetext>Comment on attachment 140427
Patch

Will create a follow-up patch for adding the header file to build/make files.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140426</attachid>
            <date>2012-05-06 11:06:10 -0700</date>
            <delta_ts>2012-05-06 11:09:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85741-20120507030608.patch</filename>
            <type>text/plain</type>
            <size>20446</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZmZGJhMWEwMzUxOWYy
OTFjNjMxOGJlYTVjMGNlY2NlZjJjNjdhYi4uN2IzZjVkMzE1YjJiMzNlNmM4OTlkYTYzZTlhOTNl
OGQ4Zjk0ZWMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTA2ICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGVhbnVwOiBDaGFu
Z2UgYm9vbGVhbiBzeW5jaHJvbm91cyBmbGFnIGFyZ3VtZW50IGludG8gZW51bSBpbiBGaWxlU3lz
dGVtIEFQSSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NTc0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGlzIGNoYW5nZSBoYXMgbm8gZnVuY3Rpb25hbCBlZmZlY3Rz
LgorCisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93RmlsZVN5c3RlbTo6d2Via2l0UmVxdWVzdEZp
bGVTeXN0ZW0pOgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3RlbS9Mb2NhbEZpbGVTeXN0ZW0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxGaWxlU3lzdGVtOjpyZXF1ZXN0RmlsZVN5c3Rl
bSk6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0xvY2FsRmlsZVN5c3RlbS5oOgorICAg
ICAgICAoTG9jYWxGaWxlU3lzdGVtKToKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vV29y
a2VyQ29udGV4dEZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4
dEZpbGVTeXN0ZW06OndlYmtpdFJlcXVlc3RGaWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6
OldvcmtlckNvbnRleHRGaWxlU3lzdGVtOjp3ZWJraXRSZXF1ZXN0RmlsZVN5c3RlbVN5bmMpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEZpbGVTeXN0ZW06OndlYmtpdFJlc29sdmVM
b2NhbEZpbGVTeXN0ZW1TeW5jVVJMKToKKwogMjAxMi0wNS0wNCAgTGV2aSBXZWludHJhdWIgIDxs
ZXZpd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ29ycmVjdCBwaXhlbCBzbmFwcGluZyBpbiBS
ZW5kZXJTVkdSb290OjpwYWludFJlcGxhY2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGVlOWE0MWVmMzBjNGIxODJkYzYzN2YxMjM5NThiZjY2MjhiMWQyOGUuLjExNzgyYTExZTdmMzFk
ZmU4OGNjZGExZjJiY2Y2YWQ2MjE3OTg1NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTItMDUtMDYgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIENsZWFudXA6IENoYW5nZSBib29sZWFuIHN5bmNocm9ub3VzIGZs
YWcgYXJndW1lbnQgaW50byBlbnVtIGluIEZpbGVTeXN0ZW0gQVBJIGNvZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzQxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvTG9jYWxGaWxlU3lzdGVt
Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3BlbkZpbGVTeXN0ZW1IZWxwZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6TG9jYWxGaWxlU3lzdGVtOjpyZWFkRmlsZVN5c3RlbSk6CisgICAg
ICAgIChXZWJDb3JlOjpMb2NhbEZpbGVTeXN0ZW06OnJlcXVlc3RGaWxlU3lzdGVtKToKKyAgICAg
ICAgKiBzcmMvV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbDo6V2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwp
OgorICAgICAgICAoV2ViS2l0OjpXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbDo6ZGlkT3BlbkZp
bGVTeXN0ZW0pOgorICAgICAgICAqIHNyYy9XZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbC5oOgor
ICAgICAgICAoV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwpOgorICAgICAgICAqIHNyYy9Xb3Jr
ZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJB
c3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6V29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0pOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OmNyZWF0ZVdv
cmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UpOgorICAgICAgICAqIHNyYy9Xb3JrZXJBc3lu
Y0ZpbGVTeXN0ZW1DaHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQXN5bmNGaWxl
U3lzdGVtQ2hyb21pdW06OmNyZWF0ZSk6CisgICAgICAgIChXb3JrZXJBc3luY0ZpbGVTeXN0ZW1D
aHJvbWl1bSk6CisKIDIwMTItMDUtMDQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZWZhY3RvciBDU1Agc3RhdGUgdG8gcHJlcGFyZSBmb3IgaGF2aW5nIGJvdGgg
YSBSZXBvcnRPbmx5IGFuZCBhbiBFbmZvcmNlZCBwb2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01XaW5kb3dGaWxlU3lzdGVtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01XaW5kb3dGaWxlU3lzdGVtLmNwcAppbmRl
eCA1NzBjMzlkYjI0NWNmMzczZTAzMjRkOWFmZjhlNjUzNzM0MWEyMTAyLi4yYmRlODVmZTllNTgw
MTNjNjg3NDA2OTUzM2Q3MTdkMDY1YzVjMzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uY3BwCkBAIC0zNyw2
ICszNyw3IEBACiAjaW5jbHVkZSAiRmlsZUVycm9yLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUNh
bGxiYWNrLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUNhbGxiYWNrcy5oIgorI2luY2x1ZGUgIkZp
bGVTeXN0ZW1UeXBlLmgiCiAjaW5jbHVkZSAiTG9jYWxGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKIApAQCAtNzAsNyArNzEsNyBAQCB2b2lkIERPTVdpbmRvd0ZpbGVT
eXN0ZW06OndlYmtpdFJlcXVlc3RGaWxlU3lzdGVtKERPTVdpbmRvdyogd2luZG93LCBpbnQgdHlw
ZSwgbAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgTG9jYWxGaWxlU3lzdGVtOjpsb2Nh
bEZpbGVTeXN0ZW0oKS5yZXF1ZXN0RmlsZVN5c3RlbShkb2N1bWVudCwgZmlsZVN5c3RlbVR5cGUs
IHNpemUsIEZpbGVTeXN0ZW1DYWxsYmFja3M6OmNyZWF0ZShzdWNjZXNzQ2FsbGJhY2ssIGVycm9y
Q2FsbGJhY2ssIGRvY3VtZW50KSwgZmFsc2UpOworICAgIExvY2FsRmlsZVN5c3RlbTo6bG9jYWxG
aWxlU3lzdGVtKCkucmVxdWVzdEZpbGVTeXN0ZW0oZG9jdW1lbnQsIGZpbGVTeXN0ZW1UeXBlLCBz
aXplLCBGaWxlU3lzdGVtQ2FsbGJhY2tzOjpjcmVhdGUoc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrLCBkb2N1bWVudCksIEFzeW5jaHJvbm91c0ZpbGVTeXN0ZW0pOwogfQogCiB2b2lkIERP
TVdpbmRvd0ZpbGVTeXN0ZW06OndlYmtpdFJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoRE9NV2lu
ZG93KiB3aW5kb3csIGNvbnN0IFN0cmluZyYgdXJsLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+
IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNr
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0xvY2FsRmls
ZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vTG9jYWxGaWxl
U3lzdGVtLmNwcAppbmRleCA4ZjAxNjllZWFiYmE5M2ZmNGYxNTZkN2MyMzQ3YjZjMGIyN2Q1YmJh
Li4wM2M3MTAxNTZlNDU4YTRkZGUzOGY4N2VjYzQ4ZTZkZWFjNmViMWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vTG9jYWxGaWxlU3lzdGVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vTG9jYWxGaWxlU3lzdGVtLmNwcApA
QCAtODgsNyArODgsNyBAQCB2b2lkIExvY2FsRmlsZVN5c3RlbTo6cmVhZEZpbGVTeXN0ZW0oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgQXN5bmNGaWxlUwogICAgIGNvbnRleHQtPnBv
c3RUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmb3BlbkZpbGVTeXN0ZW0sIGZpbGVTeXN0ZW1CYXNl
UGF0aCgpLCBjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLT5kYXRhYmFzZUlkZW50aWZpZXIoKSwg
dHlwZSwgZmFsc2UsIGNhbGxiYWNrcykpOwogfQogCi12b2lkIExvY2FsRmlsZVN5c3RlbTo6cmVx
dWVzdEZpbGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgQXN5bmNGaWxl
U3lzdGVtOjpUeXBlIHR5cGUsIGxvbmcgbG9uZywgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1D
YWxsYmFja3M+IGNhbGxiYWNrcywgYm9vbCkKK3ZvaWQgTG9jYWxGaWxlU3lzdGVtOjpyZXF1ZXN0
RmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBBc3luY0ZpbGVTeXN0
ZW06OlR5cGUgdHlwZSwgbG9uZyBsb25nLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxi
YWNrcz4gY2FsbGJhY2tzLCBGaWxlU3lzdGVtU3luY2hyb25vdXNUeXBlKQogewogICAgIC8vIEFz
eW5jRmlsZVN5c3RlbTo6b3BlbkZpbGVTeXN0ZW0gY2FsbHMgY2FsbGJhY2tzIHN5bmNocm9ub3Vz
bHksIHNvIHRoZSBtZXRob2QgbmVlZHMgdG8gYmUgY2FsbGVkIGFzeW5jaHJvbm91c2x5LgogICAg
IGNvbnRleHQtPnBvc3RUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmb3BlbkZpbGVTeXN0ZW0sIGZp
bGVTeXN0ZW1CYXNlUGF0aCgpLCBjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLT5kYXRhYmFzZUlk
ZW50aWZpZXIoKSwgdHlwZSwgdHJ1ZSwgY2FsbGJhY2tzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vTG9jYWxGaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggODBjZmEyOTQ1
MWUzOTliZDJhODEwNDhmZTU0NTQwYzQ0ZDg3YTQ0ZC4uZWE2OTYxNTBmNjg2ZTA2ZjkwYzYzZWQ5
NzFmMjJlZDdmOGJhMWI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxl
c3lzdGVtL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmls
ZXN5c3RlbS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJMRShG
SUxFX1NZU1RFTSkKIAogI2luY2x1ZGUgIkFzeW5jRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZp
bGVTeXN0ZW1UeXBlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC01NCw5ICs1
NSw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTG9jYWxGaWxlU3lzdGVtJiBsb2NhbEZpbGVTeXN0
ZW0oKTsKIAogICAgIC8vIERvZXMgbm90IGNyZWF0ZSB0aGUgcm9vdCBwYXRoIGZvciBmaWxlIHN5
c3RlbSwganVzdCByZWFkcyBpdCBpZiBhdmFpbGFibGUuCi0gICAgdm9pZCByZWFkRmlsZVN5c3Rl
bShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQXN5bmNGaWxlU3lzdGVtOjpUeXBlLCBQYXNzT3du
UHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4sIGJvb2wgc3luY2hyb25vdXMgPSBmYWxzZSk7
CisgICAgdm9pZCByZWFkRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQXN5bmNG
aWxlU3lzdGVtOjpUeXBlLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4sIEZp
bGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgPSBBc3luY2hyb25vdXNGaWxlU3lzdGVtKTsKIAotICAg
IHZvaWQgcmVxdWVzdEZpbGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEFzeW5jRmls
ZVN5c3RlbTo6VHlwZSwgbG9uZyBsb25nIHNpemUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVt
Q2FsbGJhY2tzPiwgYm9vbCBzeW5jaHJvbm91cyA9IGZhbHNlKTsKKyAgICB2b2lkIHJlcXVlc3RG
aWxlU3lzdGVtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBBc3luY0ZpbGVTeXN0ZW06OlR5cGUs
IGxvbmcgbG9uZyBzaXplLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4sIEZp
bGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgPSBBc3luY2hyb25vdXNGaWxlU3lzdGVtKTsKIAogI2lm
ICFQTEFURk9STShDSFJPTUlVTSkKICAgICAvLyBUaGlzIGNhbGwgaXMgbm90IHRocmVhZC1zYWZl
OyBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYW55IHdvcmtlciB0aHJlYWRzIGFyZSBjcmVhdGVkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRl
eHRGaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Xb3Jr
ZXJDb250ZXh0RmlsZVN5c3RlbS5jcHAKaW5kZXggOTY1MWVmNDI3N2E3MGU0ZmY5OGE4ZTFkZGUy
MTk4ZDUyNmIzN2JmYi4uMjk4MTFmNzY0NmY0MzZmYTY5MjhiMTgyMGUwYmJhZjE1ZDc4M2I2NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRl
eHRGaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0v
V29ya2VyQ29udGV4dEZpbGVTeXN0ZW0uY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAi
RmlsZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW1DYWxsYmFjay5oIgogI2luY2x1
ZGUgIkZpbGVTeXN0ZW1DYWxsYmFja3MuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtVHlwZS5oIgog
I2luY2x1ZGUgIkxvY2FsRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CiAjaW5jbHVkZSAiU3luY0NhbGxiYWNrSGVscGVyLmgiCkBAIC02Miw3ICs2Myw3IEBAIHZvaWQg
V29ya2VyQ29udGV4dEZpbGVTeXN0ZW06OndlYmtpdFJlcXVlc3RGaWxlU3lzdGVtKFdvcmtlckNv
bnRleHQqIHdvcmtlciwgaW50CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBMb2NhbEZp
bGVTeXN0ZW06OmxvY2FsRmlsZVN5c3RlbSgpLnJlcXVlc3RGaWxlU3lzdGVtKHdvcmtlciwgZmls
ZVN5c3RlbVR5cGUsIHNpemUsIEZpbGVTeXN0ZW1DYWxsYmFja3M6OmNyZWF0ZShzdWNjZXNzQ2Fs
bGJhY2ssIGVycm9yQ2FsbGJhY2ssIHdvcmtlciksIGZhbHNlKTsKKyAgICBMb2NhbEZpbGVTeXN0
ZW06OmxvY2FsRmlsZVN5c3RlbSgpLnJlcXVlc3RGaWxlU3lzdGVtKHdvcmtlciwgZmlsZVN5c3Rl
bVR5cGUsIHNpemUsIEZpbGVTeXN0ZW1DYWxsYmFja3M6OmNyZWF0ZShzdWNjZXNzQ2FsbGJhY2ss
IGVycm9yQ2FsbGJhY2ssIHdvcmtlciksIEFzeW5jaHJvbm91c0ZpbGVTeXN0ZW0pOwogfQogCiBQ
YXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1TeW5jPiBXb3JrZXJDb250ZXh0RmlsZVN5c3RlbTo6d2Vi
a2l0UmVxdWVzdEZpbGVTeXN0ZW1TeW5jKFdvcmtlckNvbnRleHQqIHdvcmtlciwgaW50IHR5cGUs
IGxvbmcgbG9uZyBzaXplLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTgxLDcgKzgyLDcgQEAgUGFz
c1JlZlB0cjxET01GaWxlU3lzdGVtU3luYz4gV29ya2VyQ29udGV4dEZpbGVTeXN0ZW06OndlYmtp
dFJlcXVlc3RGaWxlU3lzdGVtU3kKICAgICB9CiAKICAgICBGaWxlU3lzdGVtU3luY0NhbGxiYWNr
SGVscGVyIGhlbHBlcjsKLSAgICBMb2NhbEZpbGVTeXN0ZW06OmxvY2FsRmlsZVN5c3RlbSgpLnJl
cXVlc3RGaWxlU3lzdGVtKHdvcmtlciwgZmlsZVN5c3RlbVR5cGUsIHNpemUsIEZpbGVTeXN0ZW1D
YWxsYmFja3M6OmNyZWF0ZShoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5lcnJvckNh
bGxiYWNrKCksIHdvcmtlciksIHRydWUpOworICAgIExvY2FsRmlsZVN5c3RlbTo6bG9jYWxGaWxl
U3lzdGVtKCkucmVxdWVzdEZpbGVTeXN0ZW0od29ya2VyLCBmaWxlU3lzdGVtVHlwZSwgc2l6ZSwg
RmlsZVN5c3RlbUNhbGxiYWNrczo6Y3JlYXRlKGhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwgaGVs
cGVyLmVycm9yQ2FsbGJhY2soKSwgd29ya2VyKSwgU3luY2hyb25vdXNGaWxlU3lzdGVtKTsKICAg
ICByZXR1cm4gaGVscGVyLmdldFJlc3VsdChlYyk7CiB9CiAKQEAgLTEyMiw3ICsxMjMsNyBAQCBQ
YXNzUmVmUHRyPEVudHJ5U3luYz4gV29ya2VyQ29udGV4dEZpbGVTeXN0ZW06OndlYmtpdFJlc29s
dmVMb2NhbEZpbGVTeXN0ZW1TeW5jVQogICAgIH0KIAogICAgIEZpbGVTeXN0ZW1TeW5jQ2FsbGJh
Y2tIZWxwZXIgcmVhZEZpbGVTeXN0ZW1IZWxwZXI7Ci0gICAgTG9jYWxGaWxlU3lzdGVtOjpsb2Nh
bEZpbGVTeXN0ZW0oKS5yZWFkRmlsZVN5c3RlbSh3b3JrZXIsIHR5cGUsIEZpbGVTeXN0ZW1DYWxs
YmFja3M6OmNyZWF0ZShyZWFkRmlsZVN5c3RlbUhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwgcmVh
ZEZpbGVTeXN0ZW1IZWxwZXIuZXJyb3JDYWxsYmFjaygpLCB3b3JrZXIpLCB0cnVlKTsKKyAgICBM
b2NhbEZpbGVTeXN0ZW06OmxvY2FsRmlsZVN5c3RlbSgpLnJlYWRGaWxlU3lzdGVtKHdvcmtlciwg
dHlwZSwgRmlsZVN5c3RlbUNhbGxiYWNrczo6Y3JlYXRlKHJlYWRGaWxlU3lzdGVtSGVscGVyLnN1
Y2Nlc3NDYWxsYmFjaygpLCByZWFkRmlsZVN5c3RlbUhlbHBlci5lcnJvckNhbGxiYWNrKCksIHdv
cmtlciksIFN5bmNocm9ub3VzRmlsZVN5c3RlbSk7CiAgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW1T
eW5jPiBmaWxlU3lzdGVtID0gcmVhZEZpbGVTeXN0ZW1IZWxwZXIuZ2V0UmVzdWx0KGVjKTsKICAg
ICBpZiAoIWZpbGVTeXN0ZW0pCiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21pdW0uY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCmluZGV4IDI5
NzFiOTkxOGE2MzM2Y2Q2ZGNhMWUyZGJkY2E2NDU5YWY1M2NiMTUuLjBmZjczMzIzMWQyMjMyZWIw
MjEwOGIyODAyMGNiNzFlMjAzNWIwZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAK
ICNpbmNsdWRlICJFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUNhbGxiYWNr
LmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUNhbGxiYWNrcy5oIgorI2luY2x1ZGUgIkZpbGVTeXN0
ZW1UeXBlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJXZWJGaWxl
RXJyb3IuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCkBAIC0xNTMsNyAr
MTU0LDcgQEAgYm9vbCBhbGxvd0ZpbGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29ya2VyQ2xp
ZW50KiBjb21tb25DbGllbnQpCiAgICAgcmV0dXJuIGJyaWRnZS0+cmVzdWx0KCk7CiB9CiAKLXZv
aWQgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29ya2VyQ2xpZW50KiBjb21tb25D
bGllbnQsIFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgbG9uZyBsb25nIHNpemUsIGJvb2wgY3Jl
YXRlLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKiBjYWxsYmFja3MsIGJvb2wgc3luY2hyb25vdXMp
Cit2b2lkIG9wZW5GaWxlU3lzdGVtRm9yV29ya2VyKFdlYkNvbW1vbldvcmtlckNsaWVudCogY29t
bW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29s
IGNyZWF0ZSwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyogY2FsbGJhY2tzLCBGaWxlU3lzdGVtU3lu
Y2hyb25vdXNUeXBlIHN5bmNocm9ub3VzVHlwZSkKIHsKICAgICBXb3JrZXJTY3JpcHRDb250cm9s
bGVyKiBjb250cm9sbGVyID0gV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6Y29udHJvbGxlckZvckNv
bnRleHQoKTsKICAgICBXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0ID0gY29udHJvbGxlci0+
d29ya2VyQ29udGV4dCgpOwpAQCAtMTY4LDcgKzE2OSw3IEBAIHZvaWQgb3BlbkZpbGVTeXN0ZW1G
b3JXb3JrZXIoV2ViQ29tbW9uV29ya2VyQ2xpZW50KiBjb21tb25DbGllbnQsIFdlYkZpbGVTeXN0
ZW06CiAgICAgUmVmUHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+IGJyaWRnZSA9
IFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OmNyZWF0ZSh3b3JrZXJMb2FkZXJQcm94
eSwgd29ya2VyQ29udGV4dCwgY2FsbGJhY2tzKTsKICAgICBicmlkZ2UtPnBvc3RPcGVuRmlsZVN5
c3RlbVRvTWFpblRocmVhZChjb21tb25DbGllbnQsIHR5cGUsIHNpemUsIGNyZWF0ZSwgbW9kZSk7
CiAKLSAgICBpZiAoc3luY2hyb25vdXMpIHsKKyAgICBpZiAoc3luY2hyb25vdXNUeXBlID09IFN5
bmNocm9ub3VzRmlsZVN5c3RlbSkgewogICAgICAgICBpZiAocnVuTG9vcC5ydW5Jbk1vZGUod29y
a2VyQ29udGV4dCwgbW9kZSkgPT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkKICAgICAgICAgICAg
IGJyaWRnZS0+c3RvcCgpOwogICAgIH0KQEAgLTE4Myw3ICsxODQsNyBAQCBzdGF0aWMgdm9pZCBv
cGVuRmlsZVN5c3RlbU5vdEFsbG93ZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NPd25Q
dHI8QXN5bmNGaQogICAgIGNhbGxiYWNrcy0+ZGlkRmFpbChXZWJLaXQ6OldlYkZpbGVFcnJvckFi
b3J0KTsKIH0KIAotc3RhdGljIHZvaWQgb3BlbkZpbGVTeXN0ZW1IZWxwZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIFBhc3NPd25Q
dHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPiBjYWxsYmFja3MsIGJvb2wgc3luY2hyb25vdXMs
IGxvbmcgbG9uZyBzaXplLCBDcmVhdGlvbkZsYWcgY3JlYXRlKQorc3RhdGljIHZvaWQgb3BlbkZp
bGVTeXN0ZW1IZWxwZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgQXN5bmNGaWxl
U3lzdGVtOjpUeXBlIHR5cGUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPiBj
YWxsYmFja3MsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25vdXNUeXBlLCBsb25n
IGxvbmcgc2l6ZSwgQ3JlYXRpb25GbGFnIGNyZWF0ZSkKIHsKICAgICBib29sIGFsbG93ZWQgPSB0
cnVlOwogICAgIEFTU0VSVChjb250ZXh0KTsKQEAgLTIwMyw3ICsyMDQsNyBAQCBzdGF0aWMgdm9p
ZCBvcGVuRmlsZVN5c3RlbUhlbHBlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBB
c3luY0ZpbGVTeXN0ZQogICAgICAgICBpZiAoIWFsbG93RmlsZVN5c3RlbUZvcldvcmtlcih3ZWJX
b3JrZXItPmNvbW1vbkNsaWVudCgpKSkKICAgICAgICAgICAgIGFsbG93ZWQgPSBmYWxzZTsKICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIod2ViV29ya2Vy
LT5jb21tb25DbGllbnQoKSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5c3RlbTo6VHlwZT4odHlwZSks
IHNpemUsIGNyZWF0ZSA9PSBDcmVhdGVJZk5vdFByZXNlbnQsIG5ldyBXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzSW1wbChjYWxsYmFja3MsIHR5cGUsIGNvbnRleHQsIHN5bmNocm9ub3VzKSwgc3luY2hy
b25vdXMpOworICAgICAgICAgICAgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIod2ViV29ya2VyLT5j
b21tb25DbGllbnQoKSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5c3RlbTo6VHlwZT4odHlwZSksIHNp
emUsIGNyZWF0ZSA9PSBDcmVhdGVJZk5vdFByZXNlbnQsIG5ldyBXZWJGaWxlU3lzdGVtQ2FsbGJh
Y2tzSW1wbChjYWxsYmFja3MsIHR5cGUsIGNvbnRleHQsIHN5bmNocm9ub3VzVHlwZSksIHN5bmNo
cm9ub3VzVHlwZSk7CiAKICNlbHNlCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAt
MjE2LDE0ICsyMTcsMTQgQEAgc3RhdGljIHZvaWQgb3BlbkZpbGVTeXN0ZW1IZWxwZXIoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgQXN5bmNGaWxlU3lzdGUKICAgICB9CiB9CiAKLXZv
aWQgTG9jYWxGaWxlU3lzdGVtOjpyZWFkRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBBc3luY0ZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgUGFzc093blB0cjxBc3luY0Zp
bGVTeXN0ZW1DYWxsYmFja3M+IGNhbGxiYWNrcywgYm9vbCBzeW5jaHJvbm91cykKK3ZvaWQgTG9j
YWxGaWxlU3lzdGVtOjpyZWFkRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBBc3luY0ZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0
ZW1DYWxsYmFja3M+IGNhbGxiYWNrcywgRmlsZVN5c3RlbVN5bmNocm9ub3VzVHlwZSBzeW5jaHJv
bm91c1R5cGUpCiB7Ci0gICAgb3BlbkZpbGVTeXN0ZW1IZWxwZXIoY29udGV4dCwgdHlwZSwgY2Fs
bGJhY2tzLCBzeW5jaHJvbm91cywgMCwgT3BlbkV4aXN0aW5nKTsKKyAgICBvcGVuRmlsZVN5c3Rl
bUhlbHBlcihjb250ZXh0LCB0eXBlLCBjYWxsYmFja3MsIHN5bmNocm9ub3VzVHlwZSwgMCwgT3Bl
bkV4aXN0aW5nKTsKIH0KIAotdm9pZCBMb2NhbEZpbGVTeXN0ZW06OnJlcXVlc3RGaWxlU3lzdGVt
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSB0
eXBlLCBsb25nIGxvbmcgc2l6ZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+
IGNhbGxiYWNrcywgYm9vbCBzeW5jaHJvbm91cykKK3ZvaWQgTG9jYWxGaWxlU3lzdGVtOjpyZXF1
ZXN0RmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBBc3luY0ZpbGVT
eXN0ZW06OlR5cGUgdHlwZSwgbG9uZyBsb25nIHNpemUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lz
dGVtQ2FsbGJhY2tzPiBjYWxsYmFja3MsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hy
b25vdXNUeXBlKQogewotICAgIG9wZW5GaWxlU3lzdGVtSGVscGVyKGNvbnRleHQsIHR5cGUsIGNh
bGxiYWNrcywgc3luY2hyb25vdXMsIHNpemUsIENyZWF0ZUlmTm90UHJlc2VudCk7CisgICAgb3Bl
bkZpbGVTeXN0ZW1IZWxwZXIoY29udGV4dCwgdHlwZSwgY2FsbGJhY2tzLCBzeW5jaHJvbm91c1R5
cGUsIHNpemUsIENyZWF0ZUlmTm90UHJlc2VudCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZpbGVTeXN0ZW1D
YWxsYmFja3NJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZpbGVTeXN0
ZW1DYWxsYmFja3NJbXBsLmNwcAppbmRleCA5ODRjZWJmZGNmOGIwNzQ1YjI3NTFlZmZkMzJjYjBi
ZmU4MjNmNDIzLi4wNDEwNGYyYzA5Yjk2ZTU5MjhjYmYzMDMyMDZjNzQ1MmZhYzRkYmE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lzdGVtQ2FsbGJhY2tz
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRmlsZVN5c3RlbUNh
bGxiYWNrc0ltcGwuY3BwCkBAIC00NywxMSArNDcsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1XZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbDo6
V2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxs
YmFja3M+IGNhbGxiYWNrcywgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGJvb2wgc3luY2hyb25vdXMpCitXZWJGaWxl
U3lzdGVtQ2FsbGJhY2tzSW1wbDo6V2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoUGFzc093blB0
cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+IGNhbGxiYWNrcywgQXN5bmNGaWxlU3lzdGVtOjpU
eXBlIHR5cGUsIFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEZpbGVT
eXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25vdXNUeXBlKQogICAgIDogbV9jYWxsYmFja3Mo
Y2FsbGJhY2tzKQogICAgICwgbV90eXBlKHR5cGUpCiAgICAgLCBtX2NvbnRleHQoY29udGV4dCkK
LSAgICAsIG1fc3luY2hyb25vdXMoc3luY2hyb25vdXMpCisgICAgLCBtX3N5bmNocm9ub3VzVHlw
ZShzeW5jaHJvbm91c1R5cGUpCiB7CiAgICAgQVNTRVJUKG1fY2FsbGJhY2tzKTsKIH0KQEAgLTky
LDcgKzkyLDcgQEAgdm9pZCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbDo6ZGlkT3BlbkZpbGVT
eXN0ZW0oY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdAogCiAjaWYgRU5BQkxFKFdPUktFUlMp
CiAgICAgaWYgKG1fY29udGV4dCAmJiBtX2NvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKSB7Ci0g
ICAgICAgIG1fY2FsbGJhY2tzLT5kaWRPcGVuRmlsZVN5c3RlbShuYW1lLCBXb3JrZXJBc3luY0Zp
bGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlKG1fY29udGV4dCwgbV90eXBlLCByb290VVJMLCBtX3N5
bmNocm9ub3VzKSk7CisgICAgICAgIG1fY2FsbGJhY2tzLT5kaWRPcGVuRmlsZVN5c3RlbShuYW1l
LCBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlKG1fY29udGV4dCwgbV90eXBl
LCByb290VVJMLCBtX3N5bmNocm9ub3VzVHlwZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lz
dGVtQ2FsbGJhY2tzSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRmlsZVN5
c3RlbUNhbGxiYWNrc0ltcGwuaAppbmRleCBkMmJlNTc0MzQ1NWI1ZDI2MWQ4OGMxZWZlN2RmOThl
OGNhZWM1ZTlhLi4yMzA0NmI3ZTg1MmFlZmI4OGNhMDUzNTRkZjk4YTZkMGIzODBkZTlhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lzdGVtQ2FsbGJhY2tz
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZpbGVTeXN0ZW1DYWxs
YmFja3NJbXBsLmgKQEAgLTMyLDggKzMyLDkgQEAKICNkZWZpbmUgV2ViRmlsZVN5c3RlbUNhbGxi
YWNrc0ltcGxfaAogCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCi0jaW5jbHVkZSAicGxh
dGZvcm0vV2ViRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1UeXBlLmgiCiAjaW5j
bHVkZSAiV2ViRmlsZVN5c3RlbUNhbGxiYWNrcy5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZp
bGVTeXN0ZW0uaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJWZWN0b3IuaCIKICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTUyLDcgKzUzLDcg
QEAgY2xhc3MgV2ViVVJMOwogCiBjbGFzcyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbCA6IHB1
YmxpYyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzIHsKIHB1YmxpYzoKLSAgICBXZWJGaWxlU3lzdGVt
Q2FsbGJhY2tzSW1wbChQYXNzT3duUHRyPFdlYkNvcmU6OkFzeW5jRmlsZVN5c3RlbUNhbGxiYWNr
cz4sIFdlYkNvcmU6OkFzeW5jRmlsZVN5c3RlbTo6VHlwZSA9IFdlYkNvcmU6OkFzeW5jRmlsZVN5
c3RlbTo6VGVtcG9yYXJ5LCBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiA9IDAsIGJv
b2wgc3luY2hyb25vdXMgPSBmYWxzZSk7CisgICAgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwo
UGFzc093blB0cjxXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+LCBXZWJDb3JlOjpB
c3luY0ZpbGVTeXN0ZW06OlR5cGUgPSBXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFy
eSwgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogPSAwLCBXZWJDb3JlOjpGaWxlU3lz
dGVtU3luY2hyb25vdXNUeXBlID0gV2ViQ29yZTo6QXN5bmNocm9ub3VzRmlsZVN5c3RlbSk7CiAg
ICAgdmlydHVhbCB+V2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBkaWRTdWNjZWVkKCk7CkBAIC02OSw3ICs3MCw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBV
c2VkIGZvciB3b3JrZXIncyBvcGVuRmlsZVN5c3RlbSBjYWxsYmFja3MuCiAgICAgV2ViQ29yZTo6
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogbV9jb250ZXh0OwotICAgIGJvb2wgbV9zeW5jaHJvbm91
czsKKyAgICBXZWJDb3JlOjpGaWxlU3lzdGVtU3luY2hyb25vdXNUeXBlIG1fc3luY2hyb25vdXNU
eXBlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAK
aW5kZXggODBhMjZmZjAzZmQyMDRiNTk2ZDY0MDUyNzY5ZTc4NTllM2JmNjU3OS4uN2QxZWIxYzEw
YTdhNzcwMzhmMGZkODZkZGE0YzMxZGE3ZjVjODAwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNw
cApAQCAtNTcsMTEgKzU3LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0
IGNoYXIgZmlsZVN5c3RlbU9wZXJhdGlvbnNNb2RlW10gPSAiZmlsZVN5c3RlbU9wZXJhdGlvbnNN
b2RlIjsKIAotV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OldvcmtlckFzeW5jRmlsZVN5
c3RlbUNocm9taXVtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEFzeW5jRmlsZVN5
c3RlbTo6VHlwZSB0eXBlLCBjb25zdCBXZWJLaXQ6OldlYlVSTCYgcm9vdFVSTCwgYm9vbCBzeW5j
aHJvbm91cykKK1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtOjpXb3JrZXJBc3luY0ZpbGVT
eXN0ZW1DaHJvbWl1bShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBBc3luY0ZpbGVT
eXN0ZW06OlR5cGUgdHlwZSwgY29uc3QgV2ViS2l0OjpXZWJVUkwmIHJvb3RVUkwsIEZpbGVTeXN0
ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25vdXNUeXBlKQogICAgIDogQXN5bmNGaWxlU3lzdGVt
Q2hyb21pdW0odHlwZSwgcm9vdFVSTCkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChj
b250ZXh0KQogICAgICwgbV93b3JrZXJDb250ZXh0KHN0YXRpY19jYXN0PFdvcmtlckNvbnRleHQq
Pihjb250ZXh0KSkKLSAgICAsIG1fc3luY2hyb25vdXMoc3luY2hyb25vdXMpCisgICAgLCBtX3N5
bmNocm9ub3VzVHlwZShzeW5jaHJvbm91c1R5cGUpCiB7CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+aXNXb3JrZXJDb250ZXh0KCkpOwogCkBAIC0yMTksNyArMjE5LDcgQEAg
dm9pZCBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlU25hcHNob3RGaWxlQW5k
UmVhZE1ldGFkYXRhKGNvbnN0IFN0cmkKIAogUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2Fs
bGJhY2tzQnJpZGdlPiBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlV29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZShQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxi
YWNrcz4gY2FsbGJhY2tzKQogewotICAgIEFTU0VSVCghbV9zeW5jaHJvbm91cyB8fCAhbV9icmlk
Z2VGb3JDdXJyZW50T3BlcmF0aW9uKTsKKyAgICBBU1NFUlQobV9zeW5jaHJvbm91c1R5cGUgPT0g
QXN5bmNocm9ub3VzRmlsZVN5c3RlbSB8fCAhbV9icmlkZ2VGb3JDdXJyZW50T3BlcmF0aW9uKTsK
IAogICAgIG1fbW9kZUZvckN1cnJlbnRPcGVyYXRpb24gPSBmaWxlU3lzdGVtT3BlcmF0aW9uc01v
ZGU7CiAgICAgbV9tb2RlRm9yQ3VycmVudE9wZXJhdGlvbi5hcHBlbmQoU3RyaW5nOjpudW1iZXIo
bV93b3JrZXJDb250ZXh0LT50aHJlYWQoKS0+cnVuTG9vcCgpLmNyZWF0ZVVuaXF1ZUlkKCkpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5
c3RlbUNocm9taXVtLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0Zp
bGVTeXN0ZW1DaHJvbWl1bS5oCmluZGV4IDA4OTE4NTE4YTVlMzY4MmYzMGQwNGVjMDViMTZlZWM4
YWYzNThkMTMuLjRiN2EyNzE1MTI3MzEwYzY3ZDhjMTM5NzExMzJkZmM1Mzk3NDUwMjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNo
cm9taXVtLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxl
U3lzdGVtQ2hyb21pdW0uaApAQCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkgJiYgRU5BQkxFKFdPUktFUlMpCiAKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1
bS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1UeXBlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KQEAgLTUzLDkgKzU0LDkgQEAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAogY2xhc3MgV29ya2Vy
QXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0gOiBwdWJsaWMgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0g
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSB0
eXBlLCBjb25zdCBXZWJLaXQ6OldlYlVSTCYgcm9vdFVSTCwgYm9vbCBzeW5jaHJvbm91cykKKyAg
ICBzdGF0aWMgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBBc3luY0ZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgY29uc3QgV2Vi
S2l0OjpXZWJVUkwmIHJvb3RVUkwsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25v
dXNUeXBlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBXb3JrZXJBc3luY0Zp
bGVTeXN0ZW1DaHJvbWl1bShjb250ZXh0LCB0eXBlLCByb290VVJMLCBzeW5jaHJvbm91cykpOwor
ICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFdvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVt
KGNvbnRleHQsIHR5cGUsIHJvb3RVUkwsIHN5bmNocm9ub3VzVHlwZSkpOwogICAgIH0KIAogICAg
IHZpcnR1YWwgfldvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtKCk7CkBAIC03Nyw3ICs3OCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlU25hcHNob3RGaWxlQW5kUmVhZE1l
dGFkYXRhKGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxs
YmFja3M+KTsKIAogcHJpdmF0ZToKLSAgICBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQXN5bmNGaWxlU3lzdGVtOjpUeXBlLCBjb25zdCBXZWJL
aXQ6OldlYlVSTCYgcm9vdFVSTCwgYm9vbCBzeW5jaHJvbm91cyk7CisgICAgV29ya2VyQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEFzeW5jRmlsZVN5c3Rl
bTo6VHlwZSwgY29uc3QgV2ViS2l0OjpXZWJVUkwmIHJvb3RVUkwsIEZpbGVTeXN0ZW1TeW5jaHJv
bm91c1R5cGUpOwogCiAgICAgUGFzc1JlZlB0cjxXZWJLaXQ6OldvcmtlckZpbGVTeXN0ZW1DYWxs
YmFja3NCcmlkZ2U+IGNyZWF0ZVdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UoUGFzc093
blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+KTsKIApAQCAtODYsNyArODcsNyBAQCBwcml2
YXRlOgogICAgIFdvcmtlckNvbnRleHQqIG1fd29ya2VyQ29udGV4dDsKICAgICBSZWZQdHI8V2Vi
S2l0OjpXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiBtX2JyaWRnZUZvckN1cnJlbnRP
cGVyYXRpb247CiAgICAgU3RyaW5nIG1fbW9kZUZvckN1cnJlbnRPcGVyYXRpb247Ci0gICAgYm9v
bCBtX3N5bmNocm9ub3VzOworICAgIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgbV9zeW5jaHJv
bm91c1R5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140427</attachid>
            <date>2012-05-06 11:09:17 -0700</date>
            <delta_ts>2012-05-07 02:03:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85741-20120507030916.patch</filename>
            <type>text/plain</type>
            <size>22660</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZmZGJhMWEwMzUxOWYy
OTFjNjMxOGJlYTVjMGNlY2NlZjJjNjdhYi4uNDBlODkzYmQ4MjdkNGVkM2Q4MjgxMTZjYmI1MmVi
MmMyNjQyMDMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA1LTA2ICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGVhbnVwOiBDaGFu
Z2UgYm9vbGVhbiBzeW5jaHJvbm91cyBmbGFnIGFyZ3VtZW50IGludG8gZW51bSBpbiBGaWxlU3lz
dGVtIEFQSSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NTc0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGlzIGNoYW5nZSBoYXMgbm8gZnVuY3Rpb25hbCBlZmZlY3Rz
LgorCisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93RmlsZVN5c3RlbTo6d2Via2l0UmVxdWVzdEZp
bGVTeXN0ZW0pOgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3RlbS9Mb2NhbEZpbGVTeXN0ZW0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxGaWxlU3lzdGVtOjpyZXF1ZXN0RmlsZVN5c3Rl
bSk6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0xvY2FsRmlsZVN5c3RlbS5oOgorICAg
ICAgICAoTG9jYWxGaWxlU3lzdGVtKToKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vV29y
a2VyQ29udGV4dEZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4
dEZpbGVTeXN0ZW06OndlYmtpdFJlcXVlc3RGaWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6
OldvcmtlckNvbnRleHRGaWxlU3lzdGVtOjp3ZWJraXRSZXF1ZXN0RmlsZVN5c3RlbVN5bmMpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEZpbGVTeXN0ZW06OndlYmtpdFJlc29sdmVM
b2NhbEZpbGVTeXN0ZW1TeW5jVVJMKToKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lzdGVtVHlw
ZS5oOiBBZGRlZC4KKworCiAyMDEyLTA1LTA0ICBMZXZpIFdlaW50cmF1YiAgPGxldml3QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBDb3JyZWN0IHBpeGVsIHNuYXBwaW5nIGluIFJlbmRlclNWR1Jv
b3Q6OnBhaW50UmVwbGFjZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZWU5YTQxZWYz
MGM0YjE4MmRjNjM3ZjEyMzk1OGJmNjYyOGIxZDI4ZS4uMTE3ODJhMTFlN2YzMWRmZTg4Y2NkYTFm
MmJjZjZhZDYyMTc5ODU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NiBAQAorMjAxMi0wNS0wNiAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgQ2xlYW51cDogQ2hhbmdlIGJvb2xlYW4gc3luY2hyb25vdXMgZmxhZyBhcmd1bWVu
dCBpbnRvIGVudW0gaW4gRmlsZVN5c3RlbSBBUEkgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU3NDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1bS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVuRmlsZVN5c3RlbUhlbHBlcik6CisgICAgICAgIChX
ZWJDb3JlOjpMb2NhbEZpbGVTeXN0ZW06OnJlYWRGaWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNv
cmU6OkxvY2FsRmlsZVN5c3RlbTo6cmVxdWVzdEZpbGVTeXN0ZW0pOgorICAgICAgICAqIHNyYy9X
ZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZpbGVT
eXN0ZW1DYWxsYmFja3NJbXBsOjpXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsOjpkaWRPcGVuRmlsZVN5c3RlbSk6
CisgICAgICAgICogc3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsLmg6CisgICAgICAgIChX
ZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbCk6CisgICAgICAgICogc3JjL1dvcmtlckFzeW5jRmls
ZVN5c3RlbUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckFzeW5jRmlsZVN5
c3RlbUNocm9taXVtOjpXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bSk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlV29ya2VyRmlsZVN5
c3RlbUNhbGxiYWNrc0JyaWRnZSk6CisgICAgICAgICogc3JjL1dvcmtlckFzeW5jRmlsZVN5c3Rl
bUNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bTo6Y3JlYXRlKToKKyAgICAgICAgKFdvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtKToK
KwogMjAxMi0wNS0wNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlZmFjdG9yIENTUCBzdGF0ZSB0byBwcmVwYXJlIGZvciBoYXZpbmcgYm90aCBhIFJlcG9ydE9u
bHkgYW5kIGFuIEVuZm9yY2VkIHBvbGljeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uY3BwCmluZGV4IDU3MGMzOWRi
MjQ1Y2YzNzNlMDMyNGQ5YWZmOGU2NTM3MzQxYTIxMDIuLjJiZGU4NWZlOWU1ODAxM2M2ODc0MDY5
NTMzZDcxN2QwNjVjNWMzMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmls
ZXN5c3RlbS9ET01XaW5kb3dGaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZpbGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5jcHAKQEAgLTM3LDYgKzM3LDcgQEAK
ICNpbmNsdWRlICJGaWxlRXJyb3IuaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtQ2FsbGJhY2suaCIK
ICNpbmNsdWRlICJGaWxlU3lzdGVtQ2FsbGJhY2tzLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbVR5
cGUuaCIKICNpbmNsdWRlICJMb2NhbEZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgogCkBAIC03MCw3ICs3MSw3IEBAIHZvaWQgRE9NV2luZG93RmlsZVN5c3RlbTo6d2Vi
a2l0UmVxdWVzdEZpbGVTeXN0ZW0oRE9NV2luZG93KiB3aW5kb3csIGludCB0eXBlLCBsCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBMb2NhbEZpbGVTeXN0ZW06OmxvY2FsRmlsZVN5c3Rl
bSgpLnJlcXVlc3RGaWxlU3lzdGVtKGRvY3VtZW50LCBmaWxlU3lzdGVtVHlwZSwgc2l6ZSwgRmls
ZVN5c3RlbUNhbGxiYWNrczo6Y3JlYXRlKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaywg
ZG9jdW1lbnQpLCBmYWxzZSk7CisgICAgTG9jYWxGaWxlU3lzdGVtOjpsb2NhbEZpbGVTeXN0ZW0o
KS5yZXF1ZXN0RmlsZVN5c3RlbShkb2N1bWVudCwgZmlsZVN5c3RlbVR5cGUsIHNpemUsIEZpbGVT
eXN0ZW1DYWxsYmFja3M6OmNyZWF0ZShzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIGRv
Y3VtZW50KSwgQXN5bmNocm9ub3VzRmlsZVN5c3RlbSk7CiB9CiAKIHZvaWQgRE9NV2luZG93Rmls
ZVN5c3RlbTo6d2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVVSTChET01XaW5kb3cqIHdpbmRv
dywgY29uc3QgU3RyaW5nJiB1cmwsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0Nh
bGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vTG9jYWxGaWxlU3lzdGVtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Mb2NhbEZpbGVTeXN0ZW0uY3Bw
CmluZGV4IDhmMDE2OWVlYWJiYTkzZmY0ZjE1NmQ3YzIzNDdiNmMwYjI3ZDViYmEuLjAzYzcxMDE1
NmU0NThhNGRkZTM4Zjg3ZWNjNDhlNmRlYWM2ZWIxZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Mb2NhbEZpbGVTeXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Mb2NhbEZpbGVTeXN0ZW0uY3BwCkBAIC04OCw3ICs4
OCw3IEBAIHZvaWQgTG9jYWxGaWxlU3lzdGVtOjpyZWFkRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBBc3luY0ZpbGVTCiAgICAgY29udGV4dC0+cG9zdFRhc2soY3Jl
YXRlQ2FsbGJhY2tUYXNrKCZvcGVuRmlsZVN5c3RlbSwgZmlsZVN5c3RlbUJhc2VQYXRoKCksIGNv
bnRleHQtPnNlY3VyaXR5T3JpZ2luKCktPmRhdGFiYXNlSWRlbnRpZmllcigpLCB0eXBlLCBmYWxz
ZSwgY2FsbGJhY2tzKSk7CiB9CiAKLXZvaWQgTG9jYWxGaWxlU3lzdGVtOjpyZXF1ZXN0RmlsZVN5
c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBBc3luY0ZpbGVTeXN0ZW06OlR5
cGUgdHlwZSwgbG9uZyBsb25nLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4g
Y2FsbGJhY2tzLCBib29sKQordm9pZCBMb2NhbEZpbGVTeXN0ZW06OnJlcXVlc3RGaWxlU3lzdGVt
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSB0
eXBlLCBsb25nIGxvbmcsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPiBjYWxs
YmFja3MsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUpCiB7CiAgICAgLy8gQXN5bmNGaWxlU3lz
dGVtOjpvcGVuRmlsZVN5c3RlbSBjYWxscyBjYWxsYmFja3Mgc3luY2hyb25vdXNseSwgc28gdGhl
IG1ldGhvZCBuZWVkcyB0byBiZSBjYWxsZWQgYXN5bmNocm9ub3VzbHkuCiAgICAgY29udGV4dC0+
cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZvcGVuRmlsZVN5c3RlbSwgZmlsZVN5c3RlbUJh
c2VQYXRoKCksIGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCktPmRhdGFiYXNlSWRlbnRpZmllcigp
LCB0eXBlLCB0cnVlLCBjYWxsYmFja3MpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmlsZXN5c3RlbS9Mb2NhbEZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbS9Mb2NhbEZpbGVTeXN0ZW0uaAppbmRleCA4MGNmYTI5NDUxZTM5OWJkMmE4
MTA0OGZlNTQ1NDBjNDRkODdhNDRkLi5lYTY5NjE1MGY2ODZlMDZmOTBjNjNlZDk3MWYyMmVkN2Y4
YmExYjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vTG9j
YWxGaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0xv
Y2FsRmlsZVN5c3RlbS5oCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVN
KQogCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbVR5
cGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTU0LDkgKzU1LDkgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBMb2NhbEZpbGVTeXN0ZW0mIGxvY2FsRmlsZVN5c3RlbSgpOwogCiAg
ICAgLy8gRG9lcyBub3QgY3JlYXRlIHRoZSByb290IHBhdGggZm9yIGZpbGUgc3lzdGVtLCBqdXN0
IHJlYWRzIGl0IGlmIGF2YWlsYWJsZS4KLSAgICB2b2lkIHJlYWRGaWxlU3lzdGVtKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBBc3luY0ZpbGVTeXN0ZW06OlR5cGUsIFBhc3NPd25QdHI8QXN5bmNG
aWxlU3lzdGVtQ2FsbGJhY2tzPiwgYm9vbCBzeW5jaHJvbm91cyA9IGZhbHNlKTsKKyAgICB2b2lk
IHJlYWRGaWxlU3lzdGVtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBBc3luY0ZpbGVTeXN0ZW06
OlR5cGUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPiwgRmlsZVN5c3RlbVN5
bmNocm9ub3VzVHlwZSA9IEFzeW5jaHJvbm91c0ZpbGVTeXN0ZW0pOwogCi0gICAgdm9pZCByZXF1
ZXN0RmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQXN5bmNGaWxlU3lzdGVtOjpU
eXBlLCBsb25nIGxvbmcgc2l6ZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+
LCBib29sIHN5bmNocm9ub3VzID0gZmFsc2UpOworICAgIHZvaWQgcmVxdWVzdEZpbGVTeXN0ZW0o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSwgbG9uZyBsb25n
IHNpemUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPiwgRmlsZVN5c3RlbVN5
bmNocm9ub3VzVHlwZSA9IEFzeW5jaHJvbm91c0ZpbGVTeXN0ZW0pOwogCiAjaWYgIVBMQVRGT1JN
KENIUk9NSVVNKQogICAgIC8vIFRoaXMgY2FsbCBpcyBub3QgdGhyZWFkLXNhZmU7IG11c3QgYmUg
Y2FsbGVkIGJlZm9yZSBhbnkgd29ya2VyIHRocmVhZHMgYXJlIGNyZWF0ZWQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0
ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRG
aWxlU3lzdGVtLmNwcAppbmRleCA5NjUxZWY0Mjc3YTcwZTRmZjk4YThlMWRkZTIxOThkNTI2YjM3
YmZiLi4yOTgxMWY3NjQ2ZjQzNmZhNjkyOGIxODIwZTBiYmFmMTVkNzgzYjY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vV29ya2VyQ29udGV4dEZpbGVTeXN0
ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Xb3JrZXJDb250
ZXh0RmlsZVN5c3RlbS5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJGaWxlRXhjZXB0
aW9uLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRmlsZVN5
c3RlbUNhbGxiYWNrcy5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1UeXBlLmgiCiAjaW5jbHVkZSAi
TG9jYWxGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTeW5jQ2FsbGJhY2tIZWxwZXIuaCIKQEAgLTYyLDcgKzYzLDcgQEAgdm9pZCBXb3JrZXJDb250
ZXh0RmlsZVN5c3RlbTo6d2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oV29ya2VyQ29udGV4dCogd29y
a2VyLCBpbnQKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIExvY2FsRmlsZVN5c3RlbTo6
bG9jYWxGaWxlU3lzdGVtKCkucmVxdWVzdEZpbGVTeXN0ZW0od29ya2VyLCBmaWxlU3lzdGVtVHlw
ZSwgc2l6ZSwgRmlsZVN5c3RlbUNhbGxiYWNrczo6Y3JlYXRlKHN1Y2Nlc3NDYWxsYmFjaywgZXJy
b3JDYWxsYmFjaywgd29ya2VyKSwgZmFsc2UpOworICAgIExvY2FsRmlsZVN5c3RlbTo6bG9jYWxG
aWxlU3lzdGVtKCkucmVxdWVzdEZpbGVTeXN0ZW0od29ya2VyLCBmaWxlU3lzdGVtVHlwZSwgc2l6
ZSwgRmlsZVN5c3RlbUNhbGxiYWNrczo6Y3JlYXRlKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxs
YmFjaywgd29ya2VyKSwgQXN5bmNocm9ub3VzRmlsZVN5c3RlbSk7CiB9CiAKIFBhc3NSZWZQdHI8
RE9NRmlsZVN5c3RlbVN5bmM+IFdvcmtlckNvbnRleHRGaWxlU3lzdGVtOjp3ZWJraXRSZXF1ZXN0
RmlsZVN5c3RlbVN5bmMoV29ya2VyQ29udGV4dCogd29ya2VyLCBpbnQgdHlwZSwgbG9uZyBsb25n
IHNpemUsIEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtODEsNyArODIsNyBAQCBQYXNzUmVmUHRyPERP
TUZpbGVTeXN0ZW1TeW5jPiBXb3JrZXJDb250ZXh0RmlsZVN5c3RlbTo6d2Via2l0UmVxdWVzdEZp
bGVTeXN0ZW1TeQogICAgIH0KIAogICAgIEZpbGVTeXN0ZW1TeW5jQ2FsbGJhY2tIZWxwZXIgaGVs
cGVyOwotICAgIExvY2FsRmlsZVN5c3RlbTo6bG9jYWxGaWxlU3lzdGVtKCkucmVxdWVzdEZpbGVT
eXN0ZW0od29ya2VyLCBmaWxlU3lzdGVtVHlwZSwgc2l6ZSwgRmlsZVN5c3RlbUNhbGxiYWNrczo6
Y3JlYXRlKGhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSwg
d29ya2VyKSwgdHJ1ZSk7CisgICAgTG9jYWxGaWxlU3lzdGVtOjpsb2NhbEZpbGVTeXN0ZW0oKS5y
ZXF1ZXN0RmlsZVN5c3RlbSh3b3JrZXIsIGZpbGVTeXN0ZW1UeXBlLCBzaXplLCBGaWxlU3lzdGVt
Q2FsbGJhY2tzOjpjcmVhdGUoaGVscGVyLnN1Y2Nlc3NDYWxsYmFjaygpLCBoZWxwZXIuZXJyb3JD
YWxsYmFjaygpLCB3b3JrZXIpLCBTeW5jaHJvbm91c0ZpbGVTeXN0ZW0pOwogICAgIHJldHVybiBo
ZWxwZXIuZ2V0UmVzdWx0KGVjKTsKIH0KIApAQCAtMTIyLDcgKzEyMyw3IEBAIFBhc3NSZWZQdHI8
RW50cnlTeW5jPiBXb3JrZXJDb250ZXh0RmlsZVN5c3RlbTo6d2Via2l0UmVzb2x2ZUxvY2FsRmls
ZVN5c3RlbVN5bmNVCiAgICAgfQogCiAgICAgRmlsZVN5c3RlbVN5bmNDYWxsYmFja0hlbHBlciBy
ZWFkRmlsZVN5c3RlbUhlbHBlcjsKLSAgICBMb2NhbEZpbGVTeXN0ZW06OmxvY2FsRmlsZVN5c3Rl
bSgpLnJlYWRGaWxlU3lzdGVtKHdvcmtlciwgdHlwZSwgRmlsZVN5c3RlbUNhbGxiYWNrczo6Y3Jl
YXRlKHJlYWRGaWxlU3lzdGVtSGVscGVyLnN1Y2Nlc3NDYWxsYmFjaygpLCByZWFkRmlsZVN5c3Rl
bUhlbHBlci5lcnJvckNhbGxiYWNrKCksIHdvcmtlciksIHRydWUpOworICAgIExvY2FsRmlsZVN5
c3RlbTo6bG9jYWxGaWxlU3lzdGVtKCkucmVhZEZpbGVTeXN0ZW0od29ya2VyLCB0eXBlLCBGaWxl
U3lzdGVtQ2FsbGJhY2tzOjpjcmVhdGUocmVhZEZpbGVTeXN0ZW1IZWxwZXIuc3VjY2Vzc0NhbGxi
YWNrKCksIHJlYWRGaWxlU3lzdGVtSGVscGVyLmVycm9yQ2FsbGJhY2soKSwgd29ya2VyKSwgU3lu
Y2hyb25vdXNGaWxlU3lzdGVtKTsKICAgICBSZWZQdHI8RE9NRmlsZVN5c3RlbVN5bmM+IGZpbGVT
eXN0ZW0gPSByZWFkRmlsZVN5c3RlbUhlbHBlci5nZXRSZXN1bHQoZWMpOwogICAgIGlmICghZmls
ZVN5c3RlbSkKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GaWxlU3lzdGVtVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5
c3RlbVR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTA5NGNjZWFmY2Q2MDYyMWFmYzRkNzllOGZiYzlmOWI5
ODMwNDI5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5
c3RlbVR5cGUuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBGaWxlU3lzdGVtVHlwZV9oCisjZGVm
aW5lIEZpbGVTeXN0ZW1UeXBlX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitlbnVtIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgeworICAgIEFz
eW5jaHJvbm91c0ZpbGVTeXN0ZW0sCisgICAgU3luY2hyb25vdXNGaWxlU3lzdGVtLAorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQor
CisjZW5kaWYgLy8gRmlsZVN5c3RlbVR5cGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCmluZGV4IDI5NzFiOTkxOGE2
MzM2Y2Q2ZGNhMWUyZGJkY2E2NDU5YWY1M2NiMTUuLjBmZjczMzIzMWQyMjMyZWIwMjEwOGIyODAy
MGNiNzFlMjAzNWIwZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xv
Y2FsRmlsZVN5c3RlbUNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRl
ICJFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUNhbGxiYWNrLmgiCiAjaW5j
bHVkZSAiRmlsZVN5c3RlbUNhbGxiYWNrcy5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1UeXBlLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJXZWJGaWxlRXJyb3IuaCIK
ICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCkBAIC0xNTMsNyArMTU0LDcgQEAg
Ym9vbCBhbGxvd0ZpbGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29ya2VyQ2xpZW50KiBjb21t
b25DbGllbnQpCiAgICAgcmV0dXJuIGJyaWRnZS0+cmVzdWx0KCk7CiB9CiAKLXZvaWQgb3BlbkZp
bGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29ya2VyQ2xpZW50KiBjb21tb25DbGllbnQsIFdl
YkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgbG9uZyBsb25nIHNpemUsIGJvb2wgY3JlYXRlLCBXZWJG
aWxlU3lzdGVtQ2FsbGJhY2tzKiBjYWxsYmFja3MsIGJvb2wgc3luY2hyb25vdXMpCit2b2lkIG9w
ZW5GaWxlU3lzdGVtRm9yV29ya2VyKFdlYkNvbW1vbldvcmtlckNsaWVudCogY29tbW9uQ2xpZW50
LCBXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwg
V2ViRmlsZVN5c3RlbUNhbGxiYWNrcyogY2FsbGJhY2tzLCBGaWxlU3lzdGVtU3luY2hyb25vdXNU
eXBlIHN5bmNocm9ub3VzVHlwZSkKIHsKICAgICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKiBjb250
cm9sbGVyID0gV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6Y29udHJvbGxlckZvckNvbnRleHQoKTsK
ICAgICBXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0ID0gY29udHJvbGxlci0+d29ya2VyQ29u
dGV4dCgpOwpAQCAtMTY4LDcgKzE2OSw3IEBAIHZvaWQgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIo
V2ViQ29tbW9uV29ya2VyQ2xpZW50KiBjb21tb25DbGllbnQsIFdlYkZpbGVTeXN0ZW06CiAgICAg
UmVmUHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+IGJyaWRnZSA9IFdvcmtlckZp
bGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OmNyZWF0ZSh3b3JrZXJMb2FkZXJQcm94eSwgd29ya2Vy
Q29udGV4dCwgY2FsbGJhY2tzKTsKICAgICBicmlkZ2UtPnBvc3RPcGVuRmlsZVN5c3RlbVRvTWFp
blRocmVhZChjb21tb25DbGllbnQsIHR5cGUsIHNpemUsIGNyZWF0ZSwgbW9kZSk7CiAKLSAgICBp
ZiAoc3luY2hyb25vdXMpIHsKKyAgICBpZiAoc3luY2hyb25vdXNUeXBlID09IFN5bmNocm9ub3Vz
RmlsZVN5c3RlbSkgewogICAgICAgICBpZiAocnVuTG9vcC5ydW5Jbk1vZGUod29ya2VyQ29udGV4
dCwgbW9kZSkgPT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCkKICAgICAgICAgICAgIGJyaWRnZS0+
c3RvcCgpOwogICAgIH0KQEAgLTE4Myw3ICsxODQsNyBAQCBzdGF0aWMgdm9pZCBvcGVuRmlsZVN5
c3RlbU5vdEFsbG93ZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NPd25QdHI8QXN5bmNG
aQogICAgIGNhbGxiYWNrcy0+ZGlkRmFpbChXZWJLaXQ6OldlYkZpbGVFcnJvckFib3J0KTsKIH0K
IAotc3RhdGljIHZvaWQgb3BlbkZpbGVTeXN0ZW1IZWxwZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIFBhc3NPd25QdHI8QXN5bmNG
aWxlU3lzdGVtQ2FsbGJhY2tzPiBjYWxsYmFja3MsIGJvb2wgc3luY2hyb25vdXMsIGxvbmcgbG9u
ZyBzaXplLCBDcmVhdGlvbkZsYWcgY3JlYXRlKQorc3RhdGljIHZvaWQgb3BlbkZpbGVTeXN0ZW1I
ZWxwZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgQXN5bmNGaWxlU3lzdGVtOjpU
eXBlIHR5cGUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPiBjYWxsYmFja3Ms
IEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25vdXNUeXBlLCBsb25nIGxvbmcgc2l6
ZSwgQ3JlYXRpb25GbGFnIGNyZWF0ZSkKIHsKICAgICBib29sIGFsbG93ZWQgPSB0cnVlOwogICAg
IEFTU0VSVChjb250ZXh0KTsKQEAgLTIwMyw3ICsyMDQsNyBAQCBzdGF0aWMgdm9pZCBvcGVuRmls
ZVN5c3RlbUhlbHBlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBBc3luY0ZpbGVT
eXN0ZQogICAgICAgICBpZiAoIWFsbG93RmlsZVN5c3RlbUZvcldvcmtlcih3ZWJXb3JrZXItPmNv
bW1vbkNsaWVudCgpKSkKICAgICAgICAgICAgIGFsbG93ZWQgPSBmYWxzZTsKICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIod2ViV29ya2VyLT5jb21tb25D
bGllbnQoKSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5c3RlbTo6VHlwZT4odHlwZSksIHNpemUsIGNy
ZWF0ZSA9PSBDcmVhdGVJZk5vdFByZXNlbnQsIG5ldyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1w
bChjYWxsYmFja3MsIHR5cGUsIGNvbnRleHQsIHN5bmNocm9ub3VzKSwgc3luY2hyb25vdXMpOwor
ICAgICAgICAgICAgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIod2ViV29ya2VyLT5jb21tb25DbGll
bnQoKSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5c3RlbTo6VHlwZT4odHlwZSksIHNpemUsIGNyZWF0
ZSA9PSBDcmVhdGVJZk5vdFByZXNlbnQsIG5ldyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbChj
YWxsYmFja3MsIHR5cGUsIGNvbnRleHQsIHN5bmNocm9ub3VzVHlwZSksIHN5bmNocm9ub3VzVHlw
ZSk7CiAKICNlbHNlCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjE2LDE0ICsy
MTcsMTQgQEAgc3RhdGljIHZvaWQgb3BlbkZpbGVTeXN0ZW1IZWxwZXIoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgQXN5bmNGaWxlU3lzdGUKICAgICB9CiB9CiAKLXZvaWQgTG9jYWxG
aWxlU3lzdGVtOjpyZWFkRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBBc3luY0ZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1D
YWxsYmFja3M+IGNhbGxiYWNrcywgYm9vbCBzeW5jaHJvbm91cykKK3ZvaWQgTG9jYWxGaWxlU3lz
dGVtOjpyZWFkRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBBc3lu
Y0ZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFj
a3M+IGNhbGxiYWNrcywgRmlsZVN5c3RlbVN5bmNocm9ub3VzVHlwZSBzeW5jaHJvbm91c1R5cGUp
CiB7Ci0gICAgb3BlbkZpbGVTeXN0ZW1IZWxwZXIoY29udGV4dCwgdHlwZSwgY2FsbGJhY2tzLCBz
eW5jaHJvbm91cywgMCwgT3BlbkV4aXN0aW5nKTsKKyAgICBvcGVuRmlsZVN5c3RlbUhlbHBlcihj
b250ZXh0LCB0eXBlLCBjYWxsYmFja3MsIHN5bmNocm9ub3VzVHlwZSwgMCwgT3BlbkV4aXN0aW5n
KTsKIH0KIAotdm9pZCBMb2NhbEZpbGVTeXN0ZW06OnJlcXVlc3RGaWxlU3lzdGVtKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSB0eXBlLCBsb25n
IGxvbmcgc2l6ZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+IGNhbGxiYWNr
cywgYm9vbCBzeW5jaHJvbm91cykKK3ZvaWQgTG9jYWxGaWxlU3lzdGVtOjpyZXF1ZXN0RmlsZVN5
c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBBc3luY0ZpbGVTeXN0ZW06OlR5
cGUgdHlwZSwgbG9uZyBsb25nIHNpemUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJh
Y2tzPiBjYWxsYmFja3MsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25vdXNUeXBl
KQogewotICAgIG9wZW5GaWxlU3lzdGVtSGVscGVyKGNvbnRleHQsIHR5cGUsIGNhbGxiYWNrcywg
c3luY2hyb25vdXMsIHNpemUsIENyZWF0ZUlmTm90UHJlc2VudCk7CisgICAgb3BlbkZpbGVTeXN0
ZW1IZWxwZXIoY29udGV4dCwgdHlwZSwgY2FsbGJhY2tzLCBzeW5jaHJvbm91c1R5cGUsIHNpemUs
IENyZWF0ZUlmTm90UHJlc2VudCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3NJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFj
a3NJbXBsLmNwcAppbmRleCA5ODRjZWJmZGNmOGIwNzQ1YjI3NTFlZmZkMzJjYjBiZmU4MjNmNDIz
Li4wNDEwNGYyYzA5Yjk2ZTU5MjhjYmYzMDMyMDZjNzQ1MmZhYzRkYmE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0lt
cGwuY3BwCkBAIC00NywxMSArNDcsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi1XZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbDo6V2ViRmlsZVN5
c3RlbUNhbGxiYWNrc0ltcGwoUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+IGNh
bGxiYWNrcywgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIGJvb2wgc3luY2hyb25vdXMpCitXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzSW1wbDo6V2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoUGFzc093blB0cjxBc3luY0Zp
bGVTeXN0ZW1DYWxsYmFja3M+IGNhbGxiYWNrcywgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIHR5cGUs
IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEZpbGVTeXN0ZW1TeW5j
aHJvbm91c1R5cGUgc3luY2hyb25vdXNUeXBlKQogICAgIDogbV9jYWxsYmFja3MoY2FsbGJhY2tz
KQogICAgICwgbV90eXBlKHR5cGUpCiAgICAgLCBtX2NvbnRleHQoY29udGV4dCkKLSAgICAsIG1f
c3luY2hyb25vdXMoc3luY2hyb25vdXMpCisgICAgLCBtX3N5bmNocm9ub3VzVHlwZShzeW5jaHJv
bm91c1R5cGUpCiB7CiAgICAgQVNTRVJUKG1fY2FsbGJhY2tzKTsKIH0KQEAgLTkyLDcgKzkyLDcg
QEAgdm9pZCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbDo6ZGlkT3BlbkZpbGVTeXN0ZW0oY29u
c3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdAogCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgaWYg
KG1fY29udGV4dCAmJiBtX2NvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKSB7Ci0gICAgICAgIG1f
Y2FsbGJhY2tzLT5kaWRPcGVuRmlsZVN5c3RlbShuYW1lLCBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1D
aHJvbWl1bTo6Y3JlYXRlKG1fY29udGV4dCwgbV90eXBlLCByb290VVJMLCBtX3N5bmNocm9ub3Vz
KSk7CisgICAgICAgIG1fY2FsbGJhY2tzLT5kaWRPcGVuRmlsZVN5c3RlbShuYW1lLCBXb3JrZXJB
c3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlKG1fY29udGV4dCwgbV90eXBlLCByb290VVJM
LCBtX3N5bmNocm9ub3VzVHlwZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lzdGVtQ2FsbGJh
Y2tzSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRmlsZVN5c3RlbUNhbGxi
YWNrc0ltcGwuaAppbmRleCBkMmJlNTc0MzQ1NWI1ZDI2MWQ4OGMxZWZlN2RmOThlOGNhZWM1ZTlh
Li4yMzA0NmI3ZTg1MmFlZmI4OGNhMDUzNTRkZjk4YTZkMGIzODBkZTlhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBs
LmgKQEAgLTMyLDggKzMyLDkgQEAKICNkZWZpbmUgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGxf
aAogCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2Vi
RmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1UeXBlLmgiCiAjaW5jbHVkZSAiV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrcy5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0ZW0u
aCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJWZWN0b3IuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTUyLDcgKzUzLDcgQEAgY2xhc3Mg
V2ViVVJMOwogCiBjbGFzcyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbCA6IHB1YmxpYyBXZWJG
aWxlU3lzdGVtQ2FsbGJhY2tzIHsKIHB1YmxpYzoKLSAgICBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tz
SW1wbChQYXNzT3duUHRyPFdlYkNvcmU6OkFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4sIFdlYkNv
cmU6OkFzeW5jRmlsZVN5c3RlbTo6VHlwZSA9IFdlYkNvcmU6OkFzeW5jRmlsZVN5c3RlbTo6VGVt
cG9yYXJ5LCBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiA9IDAsIGJvb2wgc3luY2hy
b25vdXMgPSBmYWxzZSk7CisgICAgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoUGFzc093blB0
cjxXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+LCBXZWJDb3JlOjpBc3luY0ZpbGVT
eXN0ZW06OlR5cGUgPSBXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSwgV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogPSAwLCBXZWJDb3JlOjpGaWxlU3lzdGVtU3luY2hy
b25vdXNUeXBlID0gV2ViQ29yZTo6QXN5bmNocm9ub3VzRmlsZVN5c3RlbSk7CiAgICAgdmlydHVh
bCB+V2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRT
dWNjZWVkKCk7CkBAIC02OSw3ICs3MCw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBVc2VkIGZvciB3
b3JrZXIncyBvcGVuRmlsZVN5c3RlbSBjYWxsYmFja3MuCiAgICAgV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogbV9jb250ZXh0OwotICAgIGJvb2wgbV9zeW5jaHJvbm91czsKKyAgICBX
ZWJDb3JlOjpGaWxlU3lzdGVtU3luY2hyb25vdXNUeXBlIG1fc3luY2hyb25vdXNUeXBlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggODBh
MjZmZjAzZmQyMDRiNTk2ZDY0MDUyNzY5ZTc4NTllM2JmNjU3OS4uN2QxZWIxYzEwYTdhNzcwMzhm
MGZkODZkZGE0YzMxZGE3ZjVjODAwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcApAQCAtNTcs
MTEgKzU3LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIgZmls
ZVN5c3RlbU9wZXJhdGlvbnNNb2RlW10gPSAiZmlsZVN5c3RlbU9wZXJhdGlvbnNNb2RlIjsKIAot
V29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OldvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9t
aXVtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEFzeW5jRmlsZVN5c3RlbTo6VHlw
ZSB0eXBlLCBjb25zdCBXZWJLaXQ6OldlYlVSTCYgcm9vdFVSTCwgYm9vbCBzeW5jaHJvbm91cykK
K1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtOjpXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBBc3luY0ZpbGVTeXN0ZW06OlR5
cGUgdHlwZSwgY29uc3QgV2ViS2l0OjpXZWJVUkwmIHJvb3RVUkwsIEZpbGVTeXN0ZW1TeW5jaHJv
bm91c1R5cGUgc3luY2hyb25vdXNUeXBlKQogICAgIDogQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0o
dHlwZSwgcm9vdFVSTCkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250ZXh0KQog
ICAgICwgbV93b3JrZXJDb250ZXh0KHN0YXRpY19jYXN0PFdvcmtlckNvbnRleHQqPihjb250ZXh0
KSkKLSAgICAsIG1fc3luY2hyb25vdXMoc3luY2hyb25vdXMpCisgICAgLCBtX3N5bmNocm9ub3Vz
VHlwZShzeW5jaHJvbm91c1R5cGUpCiB7CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC0+aXNXb3JrZXJDb250ZXh0KCkpOwogCkBAIC0yMTksNyArMjE5LDcgQEAgdm9pZCBXb3Jr
ZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlU25hcHNob3RGaWxlQW5kUmVhZE1ldGFk
YXRhKGNvbnN0IFN0cmkKIAogUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJp
ZGdlPiBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlV29ya2VyRmlsZVN5c3Rl
bUNhbGxiYWNrc0JyaWRnZShQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4gY2Fs
bGJhY2tzKQogewotICAgIEFTU0VSVCghbV9zeW5jaHJvbm91cyB8fCAhbV9icmlkZ2VGb3JDdXJy
ZW50T3BlcmF0aW9uKTsKKyAgICBBU1NFUlQobV9zeW5jaHJvbm91c1R5cGUgPT0gQXN5bmNocm9u
b3VzRmlsZVN5c3RlbSB8fCAhbV9icmlkZ2VGb3JDdXJyZW50T3BlcmF0aW9uKTsKIAogICAgIG1f
bW9kZUZvckN1cnJlbnRPcGVyYXRpb24gPSBmaWxlU3lzdGVtT3BlcmF0aW9uc01vZGU7CiAgICAg
bV9tb2RlRm9yQ3VycmVudE9wZXJhdGlvbi5hcHBlbmQoU3RyaW5nOjpudW1iZXIobV93b3JrZXJD
b250ZXh0LT50aHJlYWQoKS0+cnVuTG9vcCgpLmNyZWF0ZVVuaXF1ZUlkKCkpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9t
aXVtLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1D
aHJvbWl1bS5oCmluZGV4IDA4OTE4NTE4YTVlMzY4MmYzMGQwNGVjMDViMTZlZWM4YWYzNThkMTMu
LjRiN2EyNzE1MTI3MzEwYzY3ZDhjMTM5NzExMzJkZmM1Mzk3NDUwMjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hy
b21pdW0uaApAQCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkgJiYgRU5B
QkxFKFdPUktFUlMpCiAKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5oIgorI2lu
Y2x1ZGUgIkZpbGVTeXN0ZW1UeXBlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUz
LDkgKzU0LDkgQEAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAogY2xhc3MgV29ya2VyQXN5bmNGaWxl
U3lzdGVtQ2hyb21pdW0gOiBwdWJsaWMgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0gewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSB0eXBlLCBjb25z
dCBXZWJLaXQ6OldlYlVSTCYgcm9vdFVSTCwgYm9vbCBzeW5jaHJvbm91cykKKyAgICBzdGF0aWMg
UGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBBc3luY0ZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgY29uc3QgV2ViS2l0OjpXZWJV
UkwmIHJvb3RVUkwsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25vdXNUeXBlKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1D
aHJvbWl1bShjb250ZXh0LCB0eXBlLCByb290VVJMLCBzeW5jaHJvbm91cykpOworICAgICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IFdvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtKGNvbnRleHQs
IHR5cGUsIHJvb3RVUkwsIHN5bmNocm9ub3VzVHlwZSkpOwogICAgIH0KIAogICAgIHZpcnR1YWwg
fldvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtKCk7CkBAIC03Nyw3ICs3OCw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlU25hcHNob3RGaWxlQW5kUmVhZE1ldGFkYXRhKGNv
bnN0IFN0cmluZyYgcGF0aCwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+KTsK
IAogcHJpdmF0ZToKLSAgICBXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgQXN5bmNGaWxlU3lzdGVtOjpUeXBlLCBjb25zdCBXZWJLaXQ6OldlYlVS
TCYgcm9vdFVSTCwgYm9vbCBzeW5jaHJvbm91cyk7CisgICAgV29ya2VyQXN5bmNGaWxlU3lzdGVt
Q2hyb21pdW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSwg
Y29uc3QgV2ViS2l0OjpXZWJVUkwmIHJvb3RVUkwsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUp
OwogCiAgICAgUGFzc1JlZlB0cjxXZWJLaXQ6OldvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlk
Z2U+IGNyZWF0ZVdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UoUGFzc093blB0cjxBc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3M+KTsKIApAQCAtODYsNyArODcsNyBAQCBwcml2YXRlOgogICAg
IFdvcmtlckNvbnRleHQqIG1fd29ya2VyQ29udGV4dDsKICAgICBSZWZQdHI8V2ViS2l0OjpXb3Jr
ZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiBtX2JyaWRnZUZvckN1cnJlbnRPcGVyYXRpb247
CiAgICAgU3RyaW5nIG1fbW9kZUZvckN1cnJlbnRPcGVyYXRpb247Ci0gICAgYm9vbCBtX3N5bmNo
cm9ub3VzOworICAgIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgbV9zeW5jaHJvbm91c1R5cGU7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>