<?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>47327</bug_id>
          
          <creation_ts>2010-10-07 00:52:28 -0700</creation_ts>
          <short_desc>Refactor HTMLInputElement: Move valueAsDate and valueAsNumber implementations</short_desc>
          <delta_ts>2010-10-07 22:48:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>290849</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-07 00:52:28 -0700</bug_when>
    <thetext>Refactor HTMLInputElement: Move valueAsDate and valueAsNumber implementations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290850</commentid>
    <comment_count>1</comment_count>
      <attachid>70046</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-07 00:57:16 -0700</bug_when>
    <thetext>Created attachment 70046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290995</commentid>
    <comment_count>2</comment_count>
      <attachid>70046</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-10-07 07:24:58 -0700</bug_when>
    <thetext>Comment on attachment 70046
Patch

Thanks for this hard work, tkent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291452</commentid>
    <comment_count>3</comment_count>
      <attachid>70046</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-07 22:48:05 -0700</bug_when>
    <thetext>Comment on attachment 70046
Patch

Clearing flags on attachment: 70046

Committed r69378: &lt;http://trac.webkit.org/changeset/69378&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291453</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-10-07 22:48:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70046</attachid>
            <date>2010-10-07 00:57:16 -0700</date>
            <delta_ts>2010-10-07 22:48:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47327-20101007165714.patch</filename>
            <type>text/plain</type>
            <size>31214</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjZlOTk2YjMxZWI4MTQ2NGVkOTBlNGFkMjVmY2MzYWM5ZWJkODcyMi4uNWU3YjQ0Njk5OTVkY2Y3
MGE0MzMxOWU0MmE4NTBjMGE2NzQ1MjdiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2OCBAQAorMjAxMC0xMC0wNyAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3IgSFRNTElucHV0RWxlbWVudDogTW92ZSB2
YWx1ZUFzRGF0ZSBhbmQgdmFsdWVBc051bWJlciBpbXBsZW1lbnRhdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MzI3CisKKyAgICAgICAgTW92
ZSB0aGUgY29udGVudCBvZiBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZUFzRGF0ZSgpLCBzZXRWYWx1
ZUFzRGF0ZSgpLAorICAgICAgICB2YWx1ZUFzTnVtYmVyKCksIGFuZCBzZXRWYWx1ZUFzTnVtYmVy
KCkgdG8gSW5wdXRUeXBlLCBhbmQgbW92ZQorICAgICAgICBzZXJpYWxpemUoKSBhbmQgc2VyaWFs
aXplRm9yRGF0ZVRpbWVUeXBlcygpIHRvbworCisgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRp
bWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzZURhdGVBbmRUaW1lSW5wdXRU
eXBlOjp2YWx1ZUFzRGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OnNldFZhbHVlQXNEYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZTo6dmFsdWVBc051bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpCYXNlRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OnNldFZhbHVlQXNOdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6QmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXJpYWxpemUpOgorICAgICAgICAqIGh0bWwvQmFzZURh
dGVBbmRUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9EYXRlSW5wdXRUeXBlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGVJbnB1dFR5cGU6OnNldE1pbGxpc2Vjb25kVG9EYXRlQ29t
cG9uZW50cyk6CisgICAgICAgICogaHRtbC9EYXRlSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRt
bC9EYXRlVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUlucHV0
VHlwZTo6c2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKToKKyAgICAgICAgKiBodG1sL0Rh
dGVUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OnZhbHVlQXNE
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OnNldFZhbHVl
QXNEYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OnNldE1p
bGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2Fs
SW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlQXNEYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlQXNOdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWVBc051bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZXIpOgorICAgICAgICAqIGh0bWwvSFRN
TElucHV0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklucHV0VHlwZTo6dmFsdWVBc0RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5w
dXRUeXBlOjpzZXRWYWx1ZUFzRGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OnZh
bHVlQXNOdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzZXRWYWx1ZUFzTnVt
YmVyKToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6c2VyaWFsaXplKToKKyAgICAgICAg
KiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OnZhbHVlQXNEYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1vbnRoSW5wdXRUeXBlOjpzZXRWYWx1ZUFzRGF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpNb250aElucHV0VHlwZTo6c2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKToKKyAg
ICAgICAgKiBodG1sL01vbnRoSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1
dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TnVtYmVySW5wdXRUeXBlOjp2YWx1ZUFzTnVt
YmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2V0VmFsdWVBc051bWJl
cik6CisgICAgICAgIChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6CisgICAg
ICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL1JhbmdlSW5wdXRU
eXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjp2YWx1ZUFzTnVtYmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpzZXRWYWx1ZUFzTnVtYmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpzZXJpYWxpemUpOgorICAgICAgICAq
IGh0bWwvUmFuZ2VJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VGltZUlucHV0VHlwZTo6c2V0TWlsbGlzZWNvbmRUb0RhdGVD
b21wb25lbnRzKToKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBo
dG1sL1dlZWtJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2Vla0lucHV0VHlwZTo6
c2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKToKKyAgICAgICAgKiBodG1sL1dlZWtJbnB1
dFR5cGUuaDoKKwogMjAxMC0xMC0wNiAgQ2hyaXMgRXZhbnMgIDxjZXZhbnNAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL0Jhc2VEYXRl
QW5kVGltZUlucHV0VHlwZS5jcHAKaW5kZXggMjhkYmJmMDUzYWMxYmQ1N2YwOWRiYjBmNDAyMDBk
MmIzMjQzNzViZi4uNWI5MWIwMWQyMTY2OGFjMzE1MTIzNTI0MzI5MWFjMGZiMDY1MzkzMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIv
V2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTQ0LDYgKzQ0LDI5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiB1c2lu
ZyBuYW1lc3BhY2Ugc3RkOwogCitzdGF0aWMgY29uc3QgZG91YmxlIG1zZWNQZXJNaW51dGUgPSA2
MCAqIDEwMDA7CitzdGF0aWMgY29uc3QgZG91YmxlIG1zZWNQZXJTZWNvbmQgPSAxMDAwOworCitk
b3VibGUgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjp2YWx1ZUFzRGF0ZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT52YWx1ZSgpLCBEYXRlQ29tcG9uZW50
czo6aW52YWxpZE1pbGxpc2Vjb25kcygpKTsKK30KKwordm9pZCBCYXNlRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OnNldFZhbHVlQXNEYXRlKGRvdWJsZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0
Cit7CisgICAgZWxlbWVudCgpLT5zZXRWYWx1ZShzZXJpYWxpemUodmFsdWUpKTsKK30KKworZG91
YmxlIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6dmFsdWVBc051bWJlcigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT52YWx1ZSgpLCBudW1lcmljX2xpbWl0
czxkb3VibGU+OjpxdWlldF9OYU4oKSk7Cit9CisKK3ZvaWQgQmFzZURhdGVBbmRUaW1lSW5wdXRU
eXBlOjpzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSBuZXdWYWx1ZSwgRXhjZXB0aW9uQ29kZSYpIGNv
bnN0Cit7CisgICAgZWxlbWVudCgpLT5zZXRWYWx1ZShzZXJpYWxpemUobmV3VmFsdWUpKTsKK30K
KwogYm9vbCBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnJhbmdlVW5kZXJmbG93KGNvbnN0IFN0
cmluZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwpAQCAtOTUsNCArMTE4LDIxIEBAIGJvb2wgQmFzZURh
dGVBbmRUaW1lSW5wdXRUeXBlOjpwYXJzZVRvRGF0ZUNvbXBvbmVudHMoY29uc3QgU3RyaW5nJiBz
b3VyY2UsIERhdGVDCiAgICAgcmV0dXJuIHBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKHNv
dXJjZS5jaGFyYWN0ZXJzKCksIHNvdXJjZS5sZW5ndGgoKSwgb3V0KTsKIH0KIAorU3RyaW5nIEJh
c2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFsaXplKGRvdWJsZSB2YWx1ZSkgY29uc3QKK3sK
KyAgICBpZiAoIWlzZmluaXRlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAg
IERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgaWYgKCFzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBv
bmVudHModmFsdWUsICZkYXRlKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIGRvdWJs
ZSBzdGVwOworICAgIGlmICghZWxlbWVudCgpLT5nZXRBbGxvd2VkVmFsdWVTdGVwKCZzdGVwKSkK
KyAgICAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoKTsKKyAgICBpZiAoIWZtb2Qoc3RlcCwgbXNl
Y1Blck1pbnV0ZSkpCisgICAgICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKERhdGVDb21wb25lbnRz
OjpOb25lKTsKKyAgICBpZiAoIWZtb2Qoc3RlcCwgbXNlY1BlclNlY29uZCkpCisgICAgICAgIHJl
dHVybiBkYXRlLnRvU3RyaW5nKERhdGVDb21wb25lbnRzOjpTZWNvbmQpOworICAgIHJldHVybiBk
YXRlLnRvU3RyaW5nKERhdGVDb21wb25lbnRzOjpNaWxsaXNlY29uZCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAppbmRl
eCA0NWIxZWRmNGU4MjY3MzIwMGUwZDhmYmU1MWYyZTNlM2Q2MjBjNjdlLi4yMjE0NzM3YWM0ODY2
NzgyOTRiOTQ0NDNiYzE5ZWM1NzU0MzhjY2QxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oCkBAIC00NCwxMiArNDQsMTggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
Ym9vbCBwYXJzZVRvRGF0ZUNvbXBvbmVudHMoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHMq
KSBjb25zdDsKICAgICAvLyBBIGhlbHBlciBmb3IgcGFyc2VUb0RhdGVDb21wb25lbnRzKCkuCiAg
ICAgdmlydHVhbCBib29sIHBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFy
KiwgdW5zaWduZWQgbGVuZ3RoLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIGJvb2wgc2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKGRvdWJsZSwgRGF0ZUNvbXBv
bmVudHMqKSBjb25zdCA9IDA7CiAKIHByaXZhdGU6CisgICAgdmlydHVhbCBkb3VibGUgdmFsdWVB
c0RhdGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoZG91YmxlLCBF
eGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgdmFsdWVBc051bWJlcigp
IGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCByYW5nZVVuZGVyZmxvdyhjb25zdCBT
dHJpbmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJp
bmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc3RlcE1pc21hdGNoKGNvbnN0IFN0cmluZyYs
IGRvdWJsZSkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgc3RlcEJhc2UoKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxpemUoZG91YmxlKSBjb25zdDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNw
cCBiL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAppbmRleCAwMjJiMmU4YjJmM2IyZjg0
ODZiN2MxM2Q1NWQzY2VhMDQ0Y2UwNmRmLi4zNDA5ZDNiNGY4ZTdhZWIyYzY4ODc5ZDA2NTBjODdk
NjNjOTgwZWUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysr
IGIvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCkBAIC04NSw0ICs4NSwxMCBAQCBib29s
IERhdGVJbnB1dFR5cGU6OnBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZwogICAgIHJldHVybiBvdXQtPnBhcnNlRGF0ZShjaGFyYWN0ZXJz
LCBsZW5ndGgsIDAsIGVuZCkgJiYgZW5kID09IGxlbmd0aDsKIH0KIAorYm9vbCBEYXRlSW5wdXRU
eXBlOjpzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlIHZhbHVlLCBEYXRlQ29t
cG9uZW50cyogZGF0ZSkgY29uc3QKK3sKKyAgICBBU1NFUlQoZGF0ZSk7CisgICAgcmV0dXJuIGRh
dGUtPnNldE1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JEYXRlKHZhbHVlKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUu
aCBiL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmgKaW5kZXggNThhMDc4ZjVmMTI5YWE1ZjU3
NzU0ZmI0Y2IwZWQ4MDE4ZTJhNWViNy4uOTY1ZDllYWJhMTQ3YWM1MjFiZjFmNTdlYmY2MjQ1ZTc2
ZjE4NzAzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaAorKysgYi9X
ZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCkBAIC00OCw2ICs0OCw3IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBkb3VibGUgc3RlcFNjYWxlRmFjdG9yKCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHBhcnNlZFN0ZXBWYWx1ZVNob3VsZEJlSW50ZWdlcigpIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCBwYXJzZVRvRGF0ZUNvbXBvbmVudHNJbnRlcm5hbChjb25zdCBVQ2hhciosIHVuc2lnbmVk
IGxlbmd0aCwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0TWls
bGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKGRvdWJsZSwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdDsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9E
YXRlVGltZUlucHV0VHlwZS5jcHAgYi9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3Bw
CmluZGV4IDhiMTkwNzZlN2I3ZmY0ODczMTcyYzE3ZTA0Yzc3YzNkYWY2MzNkMzQuLmM3OGE1NDA1
NmExNWUxMDI5NmRlZTgyZDA2M2U0NjIyOWMwODM2ZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9EYXRlVGltZUlucHV0VHlwZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRU
eXBlLmNwcApAQCAtODUsNCArODUsMTAgQEAgYm9vbCBEYXRlVGltZUlucHV0VHlwZTo6cGFyc2VU
b0RhdGVDb21wb25lbnRzSW50ZXJuYWwoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHUKICAgICBy
ZXR1cm4gb3V0LT5wYXJzZURhdGVUaW1lKGNoYXJhY3RlcnMsIGxlbmd0aCwgMCwgZW5kKSAmJiBl
bmQgPT0gbGVuZ3RoOwogfQogCitib29sIERhdGVUaW1lSW5wdXRUeXBlOjpzZXRNaWxsaXNlY29u
ZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlIHZhbHVlLCBEYXRlQ29tcG9uZW50cyogZGF0ZSkgY29u
c3QKK3sKKyAgICBBU1NFUlQoZGF0ZSk7CisgICAgcmV0dXJuIGRhdGUtPnNldE1pbGxpc2Vjb25k
c1NpbmNlRXBvY2hGb3JEYXRlVGltZSh2YWx1ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oIGIvV2ViQ29y
ZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKaW5kZXggZWY3MWY1NjIxODY1NDA5N2E0MzM5NGQ4
Y2MwMjM3Y2UwMzI1NTc4ZS4uMTQwOTc1YjE5NTE4NGFlMGI2ZDhmOGVhNGQ1NjM0ODVlMTYxYWMz
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGRvdWJsZSBzdGVwU2NhbGVGYWN0b3IoKSBjb25zdDsKICAgICB2aXJ0dWFs
IGJvb2wgc2NhbGVkU3RlcFZhbGV1U2hvdWxkQmVJbnRlZ2VyKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIHBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWdu
ZWQgbGVuZ3RoLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBzZXRN
aWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJ
bnB1dFR5cGUuY3BwCmluZGV4IGJmOGY4NDAzZWIzMDJhZTg2YjgxNTc0Njk0ZGM1N2ZjN2YxMDY3
OWMuLjFlYzJhNDc5YjFiYmYzYWI3ZDFkNGYyY2ZkNWIyNjM2YmZiMTBlYWYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKQEAgLTUzLDYgKzUzLDE4IEBAIGNvbnN0IEF0
b21pY1N0cmluZyYgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29u
c3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OmRhdGV0aW1lbG9jYWwoKTsKIH0KIAorZG91
YmxlIERhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OnZhbHVlQXNEYXRlKCkgY29uc3QKK3sKKyAgICAv
LyB2YWx1ZUFzRGF0ZSBkb2Vzbid0IHdvcmsgZm9yIHRoZSBkYXRldGltZS1sb2NhbCB0eXBlIGFj
Y29yZGluZyB0byB0aGUgc3RhbmRhcmQuCisgICAgcmV0dXJuIERhdGVDb21wb25lbnRzOjppbnZh
bGlkTWlsbGlzZWNvbmRzKCk7Cit9CisKK3ZvaWQgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6c2V0
VmFsdWVBc0RhdGUoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAg
ICAvLyB2YWx1ZUFzRGF0ZSBkb2Vzbid0IHdvcmsgZm9yIHRoZSBkYXRldGltZS1sb2NhbCB0eXBl
IGFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQuCisgICAgSW5wdXRUeXBlOjpzZXRWYWx1ZUFzRGF0
ZSh2YWx1ZSwgZWMpOworfQorCiBkb3VibGUgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6bWluaW11
bSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5mYXN0R2V0
QXR0cmlidXRlKG1pbkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bURhdGVUaW1lKCkpOwpA
QCAtODUsNCArOTcsMTAgQEAgYm9vbCBEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjpwYXJzZVRvRGF0
ZUNvbXBvbmVudHNJbnRlcm5hbChjb25zdCBVQ2hhciogY2hhcmFjdGUKICAgICByZXR1cm4gb3V0
LT5wYXJzZURhdGVUaW1lTG9jYWwoY2hhcmFjdGVycywgbGVuZ3RoLCAwLCBlbmQpICYmIGVuZCA9
PSBsZW5ndGg7CiB9CiAKK2Jvb2wgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6c2V0TWlsbGlzZWNv
bmRUb0RhdGVDb21wb25lbnRzKGRvdWJsZSB2YWx1ZSwgRGF0ZUNvbXBvbmVudHMqIGRhdGUpIGNv
bnN0Cit7CisgICAgQVNTRVJUKGRhdGUpOworICAgIHJldHVybiBkYXRlLT5zZXRNaWxsaXNlY29u
ZHNTaW5jZUVwb2NoRm9yRGF0ZVRpbWVMb2NhbCh2YWx1ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBl
LmggYi9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oCmluZGV4IDQwZDJlMDQ4
ZjIzMzU2YWU3YjNiMjcwM2QxZGZiYWIzZjhmNTMwMmYuLjk2NmUyOTRhMjdjNDY2NDM5Nzg3MWVi
Y2MyZDY1OTg4NGFkZTU4NmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2Fs
SW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaApA
QCAtNDIsMTIgKzQyLDE1IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRGF0ZVRpbWVMb2NhbElu
cHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0
VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNv
bnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgdmFsdWVBc0RhdGUoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoZG91YmxlLCBFeGNlcHRpb25Db2Rl
JikgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1
YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3Rl
cCgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHN0ZXBTY2FsZUZhY3RvcigpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBzY2FsZWRTdGVwVmFsZXVTaG91bGRCZUludGVnZXIoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgcGFyc2VUb0RhdGVDb21wb25lbnRzSW50ZXJuYWwoY29uc3QgVUNo
YXIqLCB1bnNpZ25lZCBsZW5ndGgsIERhdGVDb21wb25lbnRzKikgY29uc3Q7CisgICAgdmlydHVh
bCBib29sIHNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhkb3VibGUsIERhdGVDb21wb25l
bnRzKikgY29uc3Q7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAKaW5kZXggMGQ0MTgyMTk3YjBmODkxZDk3MzU2YzY0MTU2NDNmY2E2ZmI2YTQ3
Mi4uNGQ1Y2Q2NGNiNGQwMWZjMDEyOTUzMWZmM2IwMzNjMDI3OWQzYmVkNiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcApAQCAtODIsOSArODIsNiBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwogCiBjb25zdCBpbnQgbWF4U2F2ZWRSZXN1bHRzID0gMjU2OwogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIG1zZWNQZXJNaW51dGUgPSA2MCAqIDEwMDA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1z
ZWNQZXJTZWNvbmQgPSAxMDAwOwotCiBzdGF0aWMgY29uc3QgY2hhciBlbWFpbFBhdHRlcm5bXSA9
CiAgICAgIlthLXowLTkhIyQlJicqKy89P15fYHt8fX4uLV0rIiAvLyBsb2NhbCBwYXJ0CiAgICAg
IkAiCkBAIC0xMzM3LDEyMyArMTMzNCwxNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZh
bHVlKGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wgc2VuZENoYW5nZUV2ZW50KQogCiBkb3VibGUg
SFRNTElucHV0RWxlbWVudDo6dmFsdWVBc0RhdGUoKSBjb25zdAogewotICAgIHN3aXRjaCAoZGVw
cmVjYXRlZElucHV0VHlwZSgpKSB7Ci0gICAgY2FzZSBEQVRFOgotICAgIGNhc2UgREFURVRJTUU6
Ci0gICAgY2FzZSBUSU1FOgotICAgIGNhc2UgV0VFSzoKLSAgICAgICAgcmV0dXJuIG1faW5wdXRU
eXBlLT5wYXJzZVRvRG91YmxlKHZhbHVlKCksIERhdGVDb21wb25lbnRzOjppbnZhbGlkTWlsbGlz
ZWNvbmRzKCkpOwotICAgIGNhc2UgTU9OVEg6IHsKLSAgICAgICAgRGF0ZUNvbXBvbmVudHMgZGF0
ZTsKLSAgICAgICAgaWYgKCFtX2lucHV0VHlwZS0+cGFyc2VUb0RhdGVDb21wb25lbnRzKHZhbHVl
KCksICZkYXRlKSkKLSAgICAgICAgICAgIHJldHVybiBEYXRlQ29tcG9uZW50czo6aW52YWxpZE1p
bGxpc2Vjb25kcygpOwotICAgICAgICBkb3VibGUgbXNlYyA9IGRhdGUubWlsbGlzZWNvbmRzU2lu
Y2VFcG9jaCgpOwotICAgICAgICBBU1NFUlQoaXNmaW5pdGUobXNlYykpOwotICAgICAgICByZXR1
cm4gbXNlYzsKLSAgICB9Ci0KLSAgICBjYXNlIEJVVFRPTjoKLSAgICBjYXNlIENIRUNLQk9YOgot
ICAgIGNhc2UgQ09MT1I6Ci0gICAgY2FzZSBEQVRFVElNRUxPQ0FMOiAvLyB2YWx1ZUFzRGF0ZSBk
b2Vzbid0IHdvcmsgZm9yIHRoZSBEQVRFVElNRUxPQ0FMIHR5cGUgYWNjb3JkaW5nIHRvIHRoZSBz
dGFuZGFyZC4KLSAgICBjYXNlIEVNQUlMOgotICAgIGNhc2UgRklMRToKLSAgICBjYXNlIEhJRERF
TjoKLSAgICBjYXNlIElNQUdFOgotICAgIGNhc2UgSVNJTkRFWDoKLSAgICBjYXNlIE5VTUJFUjoK
LSAgICBjYXNlIFBBU1NXT1JEOgotICAgIGNhc2UgUkFESU86Ci0gICAgY2FzZSBSQU5HRToKLSAg
ICBjYXNlIFJFU0VUOgotICAgIGNhc2UgU0VBUkNIOgotICAgIGNhc2UgU1VCTUlUOgotICAgIGNh
c2UgVEVMRVBIT05FOgotICAgIGNhc2UgVEVYVDoKLSAgICBjYXNlIFVSTDoKLSAgICAgICAgcmV0
dXJuIERhdGVDb21wb25lbnRzOjppbnZhbGlkTWlsbGlzZWNvbmRzKCk7Ci0gICAgfQotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBEYXRlQ29tcG9uZW50czo6aW52YWxpZE1p
bGxpc2Vjb25kcygpOworICAgIHJldHVybiBtX2lucHV0VHlwZS0+dmFsdWVBc0RhdGUoKTsKIH0K
IAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0ZShkb3VibGUgdmFsdWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIHN3aXRjaCAoZGVwcmVjYXRlZElucHV0VHlwZSgpKSB7
Ci0gICAgY2FzZSBEQVRFOgotICAgIGNhc2UgREFURVRJTUU6Ci0gICAgY2FzZSBUSU1FOgotICAg
IGNhc2UgV0VFSzoKLSAgICAgICAgc2V0VmFsdWUoc2VyaWFsaXplRm9yRGF0ZVRpbWVUeXBlcyh2
YWx1ZSkpOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBNT05USDogewotICAgICAgICBEYXRl
Q29tcG9uZW50cyBkYXRlOwotICAgICAgICBpZiAoIWRhdGUuc2V0TWlsbGlzZWNvbmRzU2luY2VF
cG9jaEZvck1vbnRoKHZhbHVlKSkgewotICAgICAgICAgICAgc2V0VmFsdWUoU3RyaW5nKCkpOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIHNldFZhbHVlKGRhdGUudG9T
dHJpbmcoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgY2FzZSBCVVRUT046Ci0gICAg
Y2FzZSBDSEVDS0JPWDoKLSAgICBjYXNlIENPTE9SOgotICAgIGNhc2UgREFURVRJTUVMT0NBTDog
Ly8gdmFsdWVBc0RhdGUgZG9lc24ndCB3b3JrIGZvciB0aGUgREFURVRJTUVMT0NBTCB0eXBlIGFj
Y29yZGluZyB0byB0aGUgc3RhbmRhcmQuCi0gICAgY2FzZSBFTUFJTDoKLSAgICBjYXNlIEZJTEU6
Ci0gICAgY2FzZSBISURERU46Ci0gICAgY2FzZSBJTUFHRToKLSAgICBjYXNlIElTSU5ERVg6Ci0g
ICAgY2FzZSBOVU1CRVI6Ci0gICAgY2FzZSBQQVNTV09SRDoKLSAgICBjYXNlIFJBRElPOgotICAg
IGNhc2UgUkFOR0U6Ci0gICAgY2FzZSBSRVNFVDoKLSAgICBjYXNlIFNFQVJDSDoKLSAgICBjYXNl
IFNVQk1JVDoKLSAgICBjYXNlIFRFTEVQSE9ORToKLSAgICBjYXNlIFRFWFQ6Ci0gICAgY2FzZSBV
Ukw6Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgbV9pbnB1dFR5cGUtPnNldFZhbHVl
QXNEYXRlKHZhbHVlLCBlYyk7CiB9CiAKIGRvdWJsZSBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZUFz
TnVtYmVyKCkgY29uc3QKIHsKLSAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8
ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci0gICAgc3dpdGNoIChkZXByZWNhdGVkSW5wdXRUeXBlKCkp
IHsKLSAgICBjYXNlIERBVEU6Ci0gICAgY2FzZSBEQVRFVElNRToKLSAgICBjYXNlIERBVEVUSU1F
TE9DQUw6Ci0gICAgY2FzZSBNT05USDoKLSAgICBjYXNlIE5VTUJFUjoKLSAgICBjYXNlIFJBTkdF
OgotICAgIGNhc2UgVElNRToKLSAgICBjYXNlIFdFRUs6Ci0gICAgICAgIHJldHVybiBtX2lucHV0
VHlwZS0+cGFyc2VUb0RvdWJsZSh2YWx1ZSgpLCBuYW4pOwotCi0gICAgY2FzZSBCVVRUT046Ci0g
ICAgY2FzZSBDSEVDS0JPWDoKLSAgICBjYXNlIENPTE9SOgotICAgIGNhc2UgRU1BSUw6Ci0gICAg
Y2FzZSBGSUxFOgotICAgIGNhc2UgSElEREVOOgotICAgIGNhc2UgSU1BR0U6Ci0gICAgY2FzZSBJ
U0lOREVYOgotICAgIGNhc2UgUEFTU1dPUkQ6Ci0gICAgY2FzZSBSQURJTzoKLSAgICBjYXNlIFJF
U0VUOgotICAgIGNhc2UgU0VBUkNIOgotICAgIGNhc2UgU1VCTUlUOgotICAgIGNhc2UgVEVMRVBI
T05FOgotICAgIGNhc2UgVEVYVDoKLSAgICBjYXNlIFVSTDoKLSAgICAgICAgcmV0dXJuIG5hbjsK
LSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIG5hbjsKKyAgICBy
ZXR1cm4gbV9pbnB1dFR5cGUtPnZhbHVlQXNOdW1iZXIoKTsKIH0KIAogdm9pZCBIVE1MSW5wdXRF
bGVtZW50OjpzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSBuZXdWYWx1ZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCkBAIC0xNDYyLDEzMyArMTM1Myw3IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0VmFs
dWVBc051bWJlcihkb3VibGUgbmV3VmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBl
YyA9IE5PVF9TVVBQT1JURURfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHN3aXRj
aCAoZGVwcmVjYXRlZElucHV0VHlwZSgpKSB7Ci0gICAgY2FzZSBEQVRFOgotICAgIGNhc2UgREFU
RVRJTUU6Ci0gICAgY2FzZSBEQVRFVElNRUxPQ0FMOgotICAgIGNhc2UgTU9OVEg6Ci0gICAgY2Fz
ZSBOVU1CRVI6Ci0gICAgY2FzZSBSQU5HRToKLSAgICBjYXNlIFRJTUU6Ci0gICAgY2FzZSBXRUVL
OgotICAgICAgICBzZXRWYWx1ZShzZXJpYWxpemUobmV3VmFsdWUpKTsKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgY2FzZSBCVVRUT046Ci0gICAgY2FzZSBDSEVDS0JPWDoKLSAgICBjYXNlIENPTE9S
OgotICAgIGNhc2UgRU1BSUw6Ci0gICAgY2FzZSBGSUxFOgotICAgIGNhc2UgSElEREVOOgotICAg
IGNhc2UgSU1BR0U6Ci0gICAgY2FzZSBJU0lOREVYOgotICAgIGNhc2UgUEFTU1dPUkQ6Ci0gICAg
Y2FzZSBSQURJTzoKLSAgICBjYXNlIFJFU0VUOgotICAgIGNhc2UgU0VBUkNIOgotICAgIGNhc2Ug
U1VCTUlUOgotICAgIGNhc2UgVEVMRVBIT05FOgotICAgIGNhc2UgVEVYVDoKLSAgICBjYXNlIFVS
TDoKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotU3RyaW5nIEhUTUxJbnB1dEVsZW1l
bnQ6OnNlcmlhbGl6ZUZvckRhdGVUaW1lVHlwZXMoZG91YmxlIHZhbHVlKSBjb25zdAotewotICAg
IGJvb2wgc3VjY2VzcyA9IGZhbHNlOwotICAgIERhdGVDb21wb25lbnRzIGRhdGU7Ci0gICAgc3dp
dGNoIChkZXByZWNhdGVkSW5wdXRUeXBlKCkpIHsKLSAgICBjYXNlIERBVEU6Ci0gICAgICAgIHN1
Y2Nlc3MgPSBkYXRlLnNldE1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JEYXRlKHZhbHVlKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEQVRFVElNRToKLSAgICAgICAgc3VjY2VzcyA9IGRhdGUu
c2V0TWlsbGlzZWNvbmRzU2luY2VFcG9jaEZvckRhdGVUaW1lKHZhbHVlKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBEQVRFVElNRUxPQ0FMOgotICAgICAgICBzdWNjZXNzID0gZGF0ZS5zZXRN
aWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yRGF0ZVRpbWVMb2NhbCh2YWx1ZSk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTU9OVEg6Ci0gICAgICAgIHN1Y2Nlc3MgPSBkYXRlLnNldE1vbnRoc1Np
bmNlRXBvY2godmFsdWUpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFRJTUU6Ci0gICAgICAg
IHN1Y2Nlc3MgPSBkYXRlLnNldE1pbGxpc2Vjb25kc1NpbmNlTWlkbmlnaHQodmFsdWUpOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFdFRUs6Ci0gICAgICAgIHN1Y2Nlc3MgPSBkYXRlLnNldE1p
bGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JXZWVrKHZhbHVlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBOVU1CRVI6Ci0gICAgY2FzZSBSQU5HRToKLSAgICBjYXNlIEJVVFRPTjoKLSAgICBjYXNl
IENIRUNLQk9YOgotICAgIGNhc2UgQ09MT1I6Ci0gICAgY2FzZSBFTUFJTDoKLSAgICBjYXNlIEZJ
TEU6Ci0gICAgY2FzZSBISURERU46Ci0gICAgY2FzZSBJTUFHRToKLSAgICBjYXNlIElTSU5ERVg6
Ci0gICAgY2FzZSBQQVNTV09SRDoKLSAgICBjYXNlIFJBRElPOgotICAgIGNhc2UgUkVTRVQ6Ci0g
ICAgY2FzZSBTRUFSQ0g6Ci0gICAgY2FzZSBTVUJNSVQ6Ci0gICAgY2FzZSBURUxFUEhPTkU6Ci0g
ICAgY2FzZSBURVhUOgotICAgIGNhc2UgVVJMOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIH0KLSAgICBpZiAoIXN1Y2Nlc3MpCi0g
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKLQotICAgIGRvdWJsZSBzdGVwOwotICAgIGlmICghZ2V0
QWxsb3dlZFZhbHVlU3RlcCgmc3RlcCkpCi0gICAgICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKCk7
Ci0gICAgaWYgKCFmbW9kKHN0ZXAsIG1zZWNQZXJNaW51dGUpKQotICAgICAgICByZXR1cm4gZGF0
ZS50b1N0cmluZyhEYXRlQ29tcG9uZW50czo6Tm9uZSk7Ci0gICAgaWYgKCFmbW9kKHN0ZXAsIG1z
ZWNQZXJTZWNvbmQpKQotICAgICAgICByZXR1cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29tcG9uZW50
czo6U2Vjb25kKTsKLSAgICByZXR1cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29tcG9uZW50czo6TWls
bGlzZWNvbmQpOwotfQotCi1TdHJpbmcgSFRNTElucHV0RWxlbWVudDo6c2VyaWFsaXplKGRvdWJs
ZSB2YWx1ZSkgY29uc3QKLXsKLSAgICBpZiAoIWlzZmluaXRlKHZhbHVlKSkKLSAgICAgICAgcmV0
dXJuIFN0cmluZygpOwotICAgIHN3aXRjaCAoZGVwcmVjYXRlZElucHV0VHlwZSgpKSB7Ci0gICAg
Y2FzZSBEQVRFOgotICAgIGNhc2UgREFURVRJTUU6Ci0gICAgY2FzZSBEQVRFVElNRUxPQ0FMOgot
ICAgIGNhc2UgTU9OVEg6Ci0gICAgY2FzZSBUSU1FOgotICAgIGNhc2UgV0VFSzoKLSAgICAgICAg
cmV0dXJuIHNlcmlhbGl6ZUZvckRhdGVUaW1lVHlwZXModmFsdWUpOwotICAgIGNhc2UgTlVNQkVS
OgotICAgIGNhc2UgUkFOR0U6Ci0gICAgICAgIHJldHVybiBzZXJpYWxpemVGb3JOdW1iZXJUeXBl
KHZhbHVlKTsKLQotICAgIGNhc2UgQlVUVE9OOgotICAgIGNhc2UgQ0hFQ0tCT1g6Ci0gICAgY2Fz
ZSBDT0xPUjoKLSAgICBjYXNlIEVNQUlMOgotICAgIGNhc2UgRklMRToKLSAgICBjYXNlIEhJRERF
TjoKLSAgICBjYXNlIElNQUdFOgotICAgIGNhc2UgSVNJTkRFWDoKLSAgICBjYXNlIFBBU1NXT1JE
OgotICAgIGNhc2UgUkFESU86Ci0gICAgY2FzZSBSRVNFVDoKLSAgICBjYXNlIFNFQVJDSDoKLSAg
ICBjYXNlIFNVQk1JVDoKLSAgICBjYXNlIFRFTEVQSE9ORToKLSAgICBjYXNlIFRFWFQ6Ci0gICAg
Y2FzZSBVUkw6Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgbV9pbnB1dFR5cGUtPnNldFZhbHVlQXNOdW1i
ZXIobmV3VmFsdWUsIGVjKTsKIH0KIAogU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnBsYWNlaG9s
ZGVyKCkgY29uc3QKQEAgLTI1MjUsNyArMjI5MCw3IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6
c3RlcFVwRnJvbVJlbmRlcmVyKGludCBuKQogICAgIFN0cmluZyBjdXJyZW50U3RyaW5nVmFsdWUg
PSB2YWx1ZSgpOwogICAgIGRvdWJsZSBjdXJyZW50ID0gbV9pbnB1dFR5cGUtPnBhcnNlVG9Eb3Vi
bGUoY3VycmVudFN0cmluZ1ZhbHVlLCBuYW4pOwogICAgIGlmICghaXNmaW5pdGUoY3VycmVudCkg
fHwgKG4gPiAwICYmIGN1cnJlbnQgPCBtX2lucHV0VHlwZS0+bWluaW11bSgpKSB8fCAobiA8IDAg
JiYgY3VycmVudCA+IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKQotICAgICAgICBzZXRWYWx1ZShz
ZXJpYWxpemUobiA+IDAgPyBtX2lucHV0VHlwZS0+bWluaW11bSgpIDogbV9pbnB1dFR5cGUtPm1h
eGltdW0oKSkpOworICAgICAgICBzZXRWYWx1ZShtX2lucHV0VHlwZS0+c2VyaWFsaXplKG4gPiAw
ID8gbV9pbnB1dFR5cGUtPm1pbmltdW0oKSA6IG1faW5wdXRUeXBlLT5tYXhpbXVtKCkpKTsKICAg
ICBlbHNlIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICAgICAgc3RlcFVwKG4sIGVj
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDIxZjRmMGFlNzJhMjI3MWM0ZTdlMjE0MDI2
MjNjN2I2M2YzNDY1YTkuLmU0ZTAzNDA2ZDYwYjUxYTlhZmE1MDcyYWY1MTlhN2VhYjdkNzEwZDcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMzI5LDE1ICszMjksNiBAQCBwcml2YXRlOgog
ICAgIC8vIEhlbHBlciBmb3Igc3RlcFVwKCkvc3RlcERvd24oKS4gIEFkZHMgc3RlcCB2YWx1ZSAq
IGNvdW50IHRvIHRoZSBjdXJyZW50IHZhbHVlLgogICAgIHZvaWQgYXBwbHlTdGVwKGRvdWJsZSBj
b3VudCwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgLy8gQ3JlYXRlIGEgc3RyaW5nIHJlcHJlc2Vu
dGF0aW9uIG9mIHRoZSBzcGVjaWZpZWQgZG91YmxlIHZhbHVlIGZvciB0aGUKLSAgICAvLyBjdXJy
ZW50IGlucHV0IHR5cGUuIElmIE5hTiBvciBJbmZpbml0eSBpcyBzcGVjaWZpZWQsIHRoaXMgcmV0
dXJucyBhbgotICAgIC8vIGVtdHB5IHN0cmluZy4gVGhpcyBzaG91bGQgbm90IGJlIGNhbGxlZCBm
b3IgdHlwZXMgd2l0aG91dCB2YWx1ZUFzTnVtYmVyLgotICAgIFN0cmluZyBzZXJpYWxpemUoZG91
YmxlKSBjb25zdDsKLSAgICAvLyBDcmVhdGUgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhl
IHNwZWNpZmllZCBkb3VibGUgdmFsdWUgZm9yIHRoZQotICAgIC8vIGN1cnJlbnQgaW5wdXQgdHlw
ZS4gVGhlIHR5cGUgbXVzdCBiZSBvbmUgb2YgREFURSwgREFURVRJTUUsCi0gICAgLy8gREFURVRJ
TUVMT0NBTCwgTU9OVEgsIFRJTUUsIGFuZCBXRUVLLgotICAgIFN0cmluZyBzZXJpYWxpemVGb3JE
YXRlVGltZVR5cGVzKGRvdWJsZSkgY29uc3Q7Ci0KICNpZiBFTkFCTEUoREFUQUxJU1QpCiAgICAg
SFRNTERhdGFMaXN0RWxlbWVudCogZGF0YUxpc3QoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNw
cAppbmRleCBjYTU4NzM2M2YzZmI1ZjllY2NjNTVjY2FlYjk1MGFjM2M1MWM2ZGQ2Li4wNjE5YTE1
NGYwOThiOTc4MDQxN2Q4MjVjYzljM2Q5NTdlODljMzRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMzAs
NiArMzAsNyBAQAogI2luY2x1ZGUgIkJ1dHRvbklucHV0VHlwZS5oIgogI2luY2x1ZGUgIkNoZWNr
Ym94SW5wdXRUeXBlLmgiCiAjaW5jbHVkZSAiQ29sb3JJbnB1dFR5cGUuaCIKKyNpbmNsdWRlICJE
YXRlQ29tcG9uZW50cy5oIgogI2luY2x1ZGUgIkRhdGVJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJE
YXRlVGltZUlucHV0VHlwZS5oIgogI2luY2x1ZGUgIkRhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaCIK
QEAgLTEyMSw2ICsxMjIsMjYgQEAgYm9vbCBJbnB1dFR5cGU6OmlzVGV4dFR5cGUoKSBjb25zdAog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAorZG91YmxlIElucHV0VHlwZTo6dmFsdWVBc0RhdGUoKSBj
b25zdAoreworICAgIHJldHVybiBEYXRlQ29tcG9uZW50czo6aW52YWxpZE1pbGxpc2Vjb25kcygp
OworfQorCit2b2lkIElucHV0VHlwZTo6c2V0VmFsdWVBc0RhdGUoZG91YmxlLCBFeGNlcHRpb25D
b2RlJiBlYykgY29uc3QKK3sKKyAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworfQorCitkb3Vi
bGUgSW5wdXRUeXBlOjp2YWx1ZUFzTnVtYmVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVtZXJp
Y19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7Cit9CisKK3ZvaWQgSW5wdXRUeXBlOjpzZXRW
YWx1ZUFzTnVtYmVyKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgZWMg
PSBJTlZBTElEX1NUQVRFX0VSUjsKK30KKwogYm9vbCBJbnB1dFR5cGU6OnBhdHRlcm5NaXNtYXRj
aChjb25zdCBTdHJpbmcmKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKQEAgLTE5Miw2ICsy
MTMsMTIgQEAgYm9vbCBJbnB1dFR5cGU6OnBhcnNlVG9EYXRlQ29tcG9uZW50cyhjb25zdCBTdHJp
bmcmLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitTdHJp
bmcgSW5wdXRUeXBlOjpzZXJpYWxpemUoZG91YmxlKSBjb25zdAoreworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKwogCiBuYW1lc3BhY2UgSW5wdXRU
eXBlTmFtZXMgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmggYi9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggMjJmMzIxMGU1YzFlZmY4YTFiMjIwM2EyNzZmMmUx
MTc5MjA2ZDE3MS4uNDliMmFkMGYwYWVhYmVkMWEzN2E2ODZiMzlmNDEyM2VmZTM4ODM5YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9JbnB1
dFR5cGUuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBJbnB1dFR5cGVfaAogI2RlZmluZSBJ
bnB1dFR5cGVfaAogCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTQ5LDYgKzUwLDEx
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0VHlwZSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdCA9IDA7CiAK
KyAgICB2aXJ0dWFsIGRvdWJsZSB2YWx1ZUFzRGF0ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9p
ZCBzZXRWYWx1ZUFzRGF0ZShkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGRvdWJsZSB2YWx1ZUFzTnVtYmVyKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHNldFZh
bHVlQXNOdW1iZXIoZG91YmxlLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKICAgICAvLyBWYWxp
ZGF0aW9uLXJlbGF0ZWQgZnVuY3Rpb25zCiAKICAgICB2aXJ0dWFsIGJvb2wgcGF0dGVybk1pc21h
dGNoKGNvbnN0IFN0cmluZyYpIGNvbnN0OwpAQCAtNzMsNiArNzksMTAgQEAgcHVibGljOgogICAg
IC8vIHBhcmFtZXRlciB3aWxsIGhhdmUgcGFyc2VkIHZhbHVlcyBhbmQgYmUgbW9kaWZpZWQgZXZl
biBpZiB0aGUgcGFyc2luZwogICAgIC8vIGZhaWxzLiBUaGUgRGF0ZUNvbXBvbmVudHMqIHBhcmFt
ZXRlciBtYXkgYmUgMC4KICAgICB2aXJ0dWFsIGJvb2wgcGFyc2VUb0RhdGVDb21wb25lbnRzKGNv
bnN0IFN0cmluZyYsIERhdGVDb21wb25lbnRzKikgY29uc3Q7CisgICAgLy8gQ3JlYXRlIGEgc3Ry
aW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzcGVjaWZpZWQgZG91YmxlIHZhbHVlIGZvciB0aGUK
KyAgICAvLyBpbnB1dCB0eXBlLiBJZiBOYU4gb3IgSW5maW5pdHkgaXMgc3BlY2lmaWVkLCB0aGlz
IHJldHVybnMgYW4gZW1wdHkKKyAgICAvLyBzdHJpbmcuIFRoaXMgc2hvdWxkIG5vdCBiZSBjYWxs
ZWQgZm9yIHR5cGVzIHdpdGhvdXQgdmFsdWVBc051bWJlci4KKyAgICB2aXJ0dWFsIFN0cmluZyBz
ZXJpYWxpemUoZG91YmxlKSBjb25zdDsKIAogcHJvdGVjdGVkOgogICAgIElucHV0VHlwZShIVE1M
SW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IG1fZWxlbWVudChlbGVtZW50KSB7IH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAgYi9XZWJDb3JlL2h0bWwvTW9udGhJ
bnB1dFR5cGUuY3BwCmluZGV4IGU0OTcwZTA5MWI2MTFkZTY2M2Y1NTlhYWQ3ZDY3MWYzY2M2Yjkw
ZDIuLmNiZGU1Y2JhZDI5NDFkNGM1ODFhODNiYTEwMWU0OWFkYWIyM2RkNTYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL01vbnRo
SW5wdXRUeXBlLmNwcApAQCAtNTQsNiArNTQsMjYgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBNb250
aElucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBl
TmFtZXM6Om1vbnRoKCk7CiB9CiAKK2RvdWJsZSBNb250aElucHV0VHlwZTo6dmFsdWVBc0RhdGUo
KSBjb25zdAoreworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgaWYgKCFwYXJzZVRvRGF0
ZUNvbXBvbmVudHMoZWxlbWVudCgpLT52YWx1ZSgpLCAmZGF0ZSkpCisgICAgICAgIHJldHVybiBE
YXRlQ29tcG9uZW50czo6aW52YWxpZE1pbGxpc2Vjb25kcygpOworICAgIGRvdWJsZSBtc2VjID0g
ZGF0ZS5taWxsaXNlY29uZHNTaW5jZUVwb2NoKCk7CisgICAgQVNTRVJUKGlzZmluaXRlKG1zZWMp
KTsKKyAgICByZXR1cm4gbXNlYzsKK30KKwordm9pZCBNb250aElucHV0VHlwZTo6c2V0VmFsdWVB
c0RhdGUoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJikgY29uc3QKK3sKKyAgICBEYXRlQ29t
cG9uZW50cyBkYXRlOworICAgIGlmICghZGF0ZS5zZXRNaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9y
TW9udGgodmFsdWUpKSB7CisgICAgICAgIGVsZW1lbnQoKS0+c2V0VmFsdWUoU3RyaW5nKCkpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorICAgIGVsZW1lbnQoKS0+c2V0VmFsdWUoZGF0ZS50b1N0
cmluZygpKTsKK30KKwogZG91YmxlIE1vbnRoSW5wdXRUeXBlOjptaW5pbXVtKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gcGFyc2VUb0RvdWJsZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWlu
QXR0ciksIERhdGVDb21wb25lbnRzOjptaW5pbXVtTW9udGgoKSk7CkBAIC05Niw0ICsxMTYsMTAg
QEAgYm9vbCBNb250aElucHV0VHlwZTo6cGFyc2VUb0RhdGVDb21wb25lbnRzSW50ZXJuYWwoY29u
c3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2kKICAgICByZXR1cm4gb3V0LT5wYXJzZU1vbnRoKGNo
YXJhY3RlcnMsIGxlbmd0aCwgMCwgZW5kKSAmJiBlbmQgPT0gbGVuZ3RoOwogfQogCitib29sIE1v
bnRoSW5wdXRUeXBlOjpzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlIHZhbHVl
LCBEYXRlQ29tcG9uZW50cyogZGF0ZSkgY29uc3QKK3sKKyAgICBBU1NFUlQoZGF0ZSk7CisgICAg
cmV0dXJuIGRhdGUtPnNldE1vbnRoc1NpbmNlRXBvY2godmFsdWUpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaCBi
L1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCmluZGV4IGQzZTJiYTEzMDFiMWIxMWJlNzE4
ZmZhODE0MTAzY2JjMzk3MWE0MmEuLjUwY2Y3ZDUwZjk0YmY1MDY4MTcyZTdiOTk1NWU2MzQxNTA2
NGZkMGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCisrKyBiL1dl
YkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw4IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgTW9udGhJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkgOiBC
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUoZWxlbWVudCkgeyB9CiAgICAgdmlydHVhbCBjb25zdCBB
dG9taWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OworICAgIHZpcnR1YWwgZG91Ymxl
IHZhbHVlQXNEYXRlKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGRv
dWJsZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlVG9E
b3VibGUoY29uc3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBt
aW5pbXVtKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWF4aW11bSgpIGNvbnN0OwpAQCAt
NDksNiArNTEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIHN0ZXBTY2FsZUZhY3Rv
cigpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYXJzZWRTdGVwVmFsdWVTaG91bGRCZUludGVn
ZXIoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFyc2VUb0RhdGVDb21wb25lbnRzSW50ZXJu
YWwoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgsIERhdGVDb21wb25lbnRzKikgY29uc3Q7
CisgICAgdmlydHVhbCBib29sIHNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhkb3VibGUs
IERhdGVDb21wb25lbnRzKikgY29uc3Q7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRt
bC9OdW1iZXJJbnB1dFR5cGUuY3BwCmluZGV4IDJmNDNjZTk2YTkyOGNiY2JmZTBkZmE4NmU2ZTAw
NDBjMThmZGFjZDguLjRiZWRhNWEwNjJjN2E5MWEzYjM2MDg5ZjI1Yjg4MWVlODQ5OWYwN2YgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUv
aHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCkBAIC02Miw2ICs2MiwxNiBAQCBjb25zdCBBdG9taWNT
dHJpbmcmIE51bWJlcklucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1
cm4gSW5wdXRUeXBlTmFtZXM6Om51bWJlcigpOwogfQogCitkb3VibGUgTnVtYmVySW5wdXRUeXBl
Ojp2YWx1ZUFzTnVtYmVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGFyc2VUb0RvdWJsZShlbGVt
ZW50KCktPnZhbHVlKCksIG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpKTsKK30K
Kwordm9pZCBOdW1iZXJJbnB1dFR5cGU6OnNldFZhbHVlQXNOdW1iZXIoZG91YmxlIG5ld1ZhbHVl
LCBFeGNlcHRpb25Db2RlJikgY29uc3QKK3sKKyAgICBlbGVtZW50KCktPnNldFZhbHVlKHNlcmlh
bGl6ZShuZXdWYWx1ZSkpOworfQorCiBib29sIE51bWJlcklucHV0VHlwZTo6cmFuZ2VVbmRlcmZs
b3coY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKIHsKICAgICBjb25zdCBkb3VibGUgbmFuID0g
bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CkBAIC0xMjgsNCArMTM4LDExIEBA
IGRvdWJsZSBOdW1iZXJJbnB1dFR5cGU6OnBhcnNlVG9Eb3VibGUoY29uc3QgU3RyaW5nJiBzcmMs
IGRvdWJsZSBkZWZhdWx0VmFsdWUpIGNvCiAgICAgcmV0dXJuIG51bWJlclZhbHVlOwogfQogCitT
dHJpbmcgTnVtYmVySW5wdXRUeXBlOjpzZXJpYWxpemUoZG91YmxlIHZhbHVlKSBjb25zdAorewor
ICAgIGlmICghaXNmaW5pdGUodmFsdWUpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAg
cmV0dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5cGUodmFsdWUpOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmggYi9X
ZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmgKaW5kZXggMGU4MjkzN2ExNDJkZmJkOWMyYzU2
YTI0YTA4ZDM4OTg0ZmRlYTAyMC4uNDllNWU3YzNmOTU0NTI4MWE1NjBkNjkxMThlMDlhZGM1M2Rh
MTUzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5oCisrKyBiL1dl
YkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIE51bWJlcklucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6
IFRleHRGaWVsZElucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBkb3VibGUgdmFs
dWVBc051bWJlcigpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzTnVtYmVyKGRv
dWJsZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCByYW5nZVVuZGVy
Zmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcmFuZ2VPdmVyZmxv
dyhjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtKCkgY29u
c3Q7CkBAIC01MSw2ICs1Myw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBkb3VibGUgZGVmYXVs
dFN0ZXAoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBzdGVwU2NhbGVGYWN0b3IoKSBjb25z
dDsKICAgICB2aXJ0dWFsIGRvdWJsZSBwYXJzZVRvRG91YmxlKGNvbnN0IFN0cmluZyYsIGRvdWJs
ZSkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgc2VyaWFsaXplKGRvdWJsZSkgY29uc3Q7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmFu
Z2VJbnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAppbmRleCBh
NzNjYTMwY2I1Y2Y0ODk4OTZhYTdmZGMwNGNmYzIwNzhmN2E3Yzc4Li5hYTM1OWNmMmFhZDk0NGE4
M2I2MjMyM2Q0YmQ4MTI2NGExNzY2M2U1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvUmFuZ2VJ
bnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKQEAgLTU4
LDYgKzU4LDE2IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgUmFuZ2VJbnB1dFR5cGU6OmZvcm1Db250
cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0VHlwZU5hbWVzOjpyYW5nZSgpOwogfQog
Citkb3VibGUgUmFuZ2VJbnB1dFR5cGU6OnZhbHVlQXNOdW1iZXIoKSBjb25zdAoreworICAgIHJl
dHVybiBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+dmFsdWUoKSwgbnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6cXVpZXRfTmFOKCkpOworfQorCit2b2lkIFJhbmdlSW5wdXRUeXBlOjpzZXRWYWx1ZUFz
TnVtYmVyKGRvdWJsZSBuZXdWYWx1ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0Cit7CisgICAgZWxl
bWVudCgpLT5zZXRWYWx1ZShzZXJpYWxpemUobmV3VmFsdWUpKTsKK30KKwogYm9vbCBSYW5nZUlu
cHV0VHlwZTo6cmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKIHsKICAg
ICAvLyBHdWFyYW50ZWVkIGJ5IHNhbml0aXphdGlvbi4KQEAgLTEyMCw0ICsxMzAsMTEgQEAgZG91
YmxlIFJhbmdlSW5wdXRUeXBlOjpwYXJzZVRvRG91YmxlKGNvbnN0IFN0cmluZyYgc3JjLCBkb3Vi
bGUgZGVmYXVsdFZhbHVlKSBjb24KICAgICByZXR1cm4gbnVtYmVyVmFsdWU7CiB9CiAKK1N0cmlu
ZyBSYW5nZUlucHV0VHlwZTo6c2VyaWFsaXplKGRvdWJsZSB2YWx1ZSkgY29uc3QKK3sKKyAgICBp
ZiAoIWlzZmluaXRlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIHJldHVy
biBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKHZhbHVlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmggYi9XZWJDb3Jl
L2h0bWwvUmFuZ2VJbnB1dFR5cGUuaAppbmRleCAxN2Q2MzM0MmE1ZGFjYjM0MTdkMjhkODM1ZWNk
ZjNlYmJmMGIzZGZjLi4wMDgyNmFmZGFhMzMwNTE4OGZkZWI1MjFjZTVmMjkxMWZjNDQ1MDcyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0
bWwvUmFuZ2VJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIFJhbmdlSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogSW5wdXRUeXBl
KGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJv
bFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGRvdWJsZSB2YWx1ZUFzTnVtYmVyKCkgY29uc3Q7
CisgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNOdW1iZXIoZG91YmxlLCBFeGNlcHRpb25Db2Rl
JikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCByYW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYpIGNv
bnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW0oKSBjb25zdDsKQEAgLTUxLDYgKzUzLDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3RlcCgpIGNvbnN0OwogICAg
IHZpcnR1YWwgZG91YmxlIHN0ZXBTY2FsZUZhY3RvcigpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91
YmxlIHBhcnNlVG9Eb3VibGUoY29uc3QgU3RyaW5nJiwgZG91YmxlKSBjb25zdDsKKyAgICB2aXJ0
dWFsIFN0cmluZyBzZXJpYWxpemUoZG91YmxlKSBjb25zdDsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcCBiL1dl
YkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCA3NGIxM2NjNTI1ZjBkNGM3YmFkODQ1
MDUwZjI4Y2MwYjhhMmQ3NWI1Li4yN2RjZTkwNTdkM2NiN2RjOTJhMWRlMDAwZDczYzcyN2Q2ZTM4
YzNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5jcHAKKysrIGIvV2Vi
Q29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCkBAIC04NSw0ICs4NSwxMCBAQCBib29sIFRpbWVJ
bnB1dFR5cGU6OnBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFyKiBjaGFy
YWN0ZXJzLCB1bnNpZwogICAgIHJldHVybiBvdXQtPnBhcnNlVGltZShjaGFyYWN0ZXJzLCBsZW5n
dGgsIDAsIGVuZCkgJiYgZW5kID09IGxlbmd0aDsKIH0KIAorYm9vbCBUaW1lSW5wdXRUeXBlOjpz
ZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlIHZhbHVlLCBEYXRlQ29tcG9uZW50
cyogZGF0ZSkgY29uc3QKK3sKKyAgICBBU1NFUlQoZGF0ZSk7CisgICAgcmV0dXJuIGRhdGUtPnNl
dE1pbGxpc2Vjb25kc1NpbmNlTWlkbmlnaHQodmFsdWUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oIGIvV2ViQ29y
ZS9odG1sL1RpbWVJbnB1dFR5cGUuaAppbmRleCA5ZTc1MWFiZjVkZTVjN2VjZmY3YTUwZTIzY2Rl
MWYyMmE1Y2JmZTViLi42MDcwZmEwNzM4OWE5YWU3MjhlOWZhNjIwYWEzZWU5YWYyNjcwNzI3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRt
bC9UaW1lSW5wdXRUeXBlLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGRvdWJsZSBzdGVwU2NhbGVGYWN0b3IoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc2NhbGVk
U3RlcFZhbGV1U2hvdWxkQmVJbnRlZ2VyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhcnNl
VG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoLCBE
YXRlQ29tcG9uZW50cyopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBzZXRNaWxsaXNlY29uZFRv
RGF0ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0OwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5
cGUuY3BwIGIvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCmluZGV4IDk0N2U2MzE5ODA0
M2M5ZjhiNTk2OGIwOTg0YWYzMzAyZTk0OTcxMGMuLmE1ODM2ZGM5OTBmMWRhMWQxOTU3MzQ2NDZl
YjUyOWQxYThiNjk0ODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNw
cAorKysgYi9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKQEAgLTkxLDQgKzkxLDEwIEBA
IGJvb2wgV2Vla0lucHV0VHlwZTo6cGFyc2VUb0RhdGVDb21wb25lbnRzSW50ZXJuYWwoY29uc3Qg
VUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnCiAgICAgcmV0dXJuIG91dC0+cGFyc2VXZWVrKGNoYXJh
Y3RlcnMsIGxlbmd0aCwgMCwgZW5kKSAmJiBlbmQgPT0gbGVuZ3RoOwogfQogCitib29sIFdlZWtJ
bnB1dFR5cGU6OnNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyhkb3VibGUgdmFsdWUsIERh
dGVDb21wb25lbnRzKiBkYXRlKSBjb25zdAoreworICAgIEFTU0VSVChkYXRlKTsKKyAgICByZXR1
cm4gZGF0ZS0+c2V0TWlsbGlzZWNvbmRzU2luY2VFcG9jaEZvcldlZWsodmFsdWUpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0
VHlwZS5oIGIvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaAppbmRleCA0YWVkNmRkM2QzNDE2
NGE0NDUzMTNiY2Y1YzViMmI2YTJhZmI1YzY2Li40MzcxNjRiMWFiOWEwNDlmNDZiOTE5ZDE4OGMw
MGIwMDYwMDY2YmY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5oCisr
KyBiL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGRvdWJsZSBzdGVwU2NhbGVGYWN0b3IoKSBjb25zdDsKICAgICB2aXJ0
dWFsIGJvb2wgcGFyc2VkU3RlcFZhbHVlU2hvdWxkQmVJbnRlZ2VyKCkgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5z
aWduZWQgbGVuZ3RoLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBz
ZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29tcG9uZW50cyopIGNv
bnN0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>