<?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>69821</bug_id>
          
          <creation_ts>2011-10-11 00:13:44 -0700</creation_ts>
          <short_desc>Switch RegisterSizedBoolean/dfgConvertJSValueToInt32 return type to size_t</short_desc>
          <delta_ts>2011-10-11 09:02:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
    
    <cc>yuqiang.xian</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>481474</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-11 00:13:44 -0700</bug_when>
    <thetext>Operations returning types Z (int32_t) and B (RegisterSizedBoolean - implemented as an intptr_t) are indistinguishable on 32-bit Linux, preventing the DFG JIT from building.

dfgConvertJSValueToInt32 would be better returning a value known to be register sized, for JSVALUE64 (we currently zero-extend in JIT code, potentially introducing an unnecessary mov), so by switching all associated operations to return a size_t we can fix the type problem on Linux &amp; make it a small tweak that removes an unnecessary instruction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481478</commentid>
    <comment_count>1</comment_count>
      <attachid>110482</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-11 00:29:25 -0700</bug_when>
    <thetext>Created attachment 110482
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481480</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 00:34:54 -0700</bug_when>
    <thetext>Attachment 110482 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptCore/dfg/DFGOperations.h:79:  DFG_OPERATION is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/JavaScriptCore/dfg/DFGOperations.h:80:  DFG_OPERATION is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481486</commentid>
    <comment_count>3</comment_count>
      <attachid>110482</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-11 00:42:58 -0700</bug_when>
    <thetext>Comment on attachment 110482
The patch

Wouldn&apos;t it be better to use uintptr_t instead of size_t?  size_t implies that you&apos;re describing the size of something in memory.  uintptr_t implies any unsigned pointer-sized word for holding any kind of integer or pointer, and doesn&apos;t imply any meaning (unlike size_t).  It might be less confusing in this case, since these operations are pretty much never returning the size of things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481489</commentid>
    <comment_count>4</comment_count>
      <attachid>110482</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-11 00:44:24 -0700</bug_when>
    <thetext>Comment on attachment 110482
The patch

Eh, r=me to fix the build.  Your call if you want size_t or uintptr_t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481659</commentid>
    <comment_count>5</comment_count>
      <attachid>110482</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 09:01:58 -0700</bug_when>
    <thetext>Comment on attachment 110482
The patch

Clearing flags on attachment: 110482

Committed r97153: &lt;http://trac.webkit.org/changeset/97153&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481660</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 09:02:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110482</attachid>
            <date>2011-10-11 00:29:25 -0700</date>
            <delta_ts>2011-10-11 09:01:58 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>69821.patch</filename>
            <type>text/plain</type>
            <size>23573</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTcxMjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDggQEAK
KzIwMTEtMTAtMTEgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFyYWNsb3VnaEBhcHBsZS5jb20+CisK
KyAgICAgICAgU3dpdGNoIFJlZ2lzdGVyU2l6ZWRCb29sZWFuL2RmZ0NvbnZlcnRKU1ZhbHVlVG9J
bnQzMiByZXR1cm4gdHlwZSB0byBzaXplX3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY5ODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgT3BlcmF0aW9ucyByZXR1cm5pbmcgdHlwZXMgWiAoaW50MzJfdCkg
YW5kIEIgKFJlZ2lzdGVyU2l6ZWRCb29sZWFuIC0gaW1wbGVtZW50ZWQgYXMgYW4KKyAgICAgICAg
aW50cHRyX3QpIGFyZSBpbmRpc3Rpbmd1aXNoYWJsZSBvbiAzMi1iaXQgTGludXgsIHByZXZlbnRp
bmcgdGhlIERGRyBKSVQgZnJvbSBidWlsZGluZy4KKworICAgICAgICBkZmdDb252ZXJ0SlNWYWx1
ZVRvSW50MzIgd291bGQgYmUgYmV0dGVyIHJldHVybmluZyBhIHZhbHVlIGtub3duIHRvIGJlIHJl
Z2lzdGVyIHNpemVkLCBmb3IKKyAgICAgICAgSlNWQUxVRTY0ICh3ZSBjdXJyZW50bHkgemVyby1l
eHRlbmQgaW4gSklUIGNvZGUsIHBvdGVudGlhbGx5IGludHJvZHVjaW5nIGFuIHVubmVjZXNzYXJ5
CisgICAgICAgIG1vdmUpLCBzbyBieSBzd2l0Y2hpbmcgYWxsIGFzc29jaWF0ZWQgb3BlcmF0aW9u
cyB0byByZXR1cm4gYSBzaXplX3Qgd2UgY2FuIGZpeCB0aGUgdHlwZQorICAgICAgICBwcm9ibGVt
IG9uIExpbnV4ICYgbWFrZSBpdCBhIHNtYWxsIHR3ZWFrIHRoYXQgcmVtb3ZlcyBhbiB1bm5lY2Vz
c2FyeSBpbnN0cnVjdGlvbi4KKworICAgICAgICAqIGRmZy9ERkdKSVRDb2RlR2VuZXJhdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZUNv
bXBhcmUpOgorICAgICAgICAgICAgLSBjb21wYXJpc29ucyBub3cgcmV0dXJuIGEgc2l6ZV90Lgor
ICAgICAgICAqIGRmZy9ERkdKSVRDb2RlR2VuZXJhdG9yLmg6CisgICAgICAgIChKU0M6OkRGRzo6
Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICAgICAtIFJlbW92ZWQgWl9ERkdPcGVyYXRpb25fRUog
Zm9ybS4KKyAgICAgICAgKiBkZmcvREZHSklUQ29kZUdlbmVyYXRvcjMyXzY0LmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZXBob2xlQnJh
bmNoKToKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2
ZU5vblBlZXBob2xlQ29tcGFyZSk6CisgICAgICAgICAgICAtIGNvbXBhcmlzb25zIG5vdyByZXR1
cm4gYSBzaXplX3QuCisgICAgICAgICogZGZnL0RGR0pJVENvZGVHZW5lcmF0b3I2NC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVWYWx1ZVRv
SW50MzIpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0
aXZlUGVlcGhvbGVCcmFuY2gpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVHZW5lcmF0b3I6
Om5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVDb21wYXJlKToKKyAgICAgICAgICAgIC0gY29tcGFy
aXNvbnMgbm93IHJldHVybiBhIHNpemVfdC4KKyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuaDoKKyAgICAgICAgICAgIC0gQ2hhbmdl
IHJldHVybiB0eXBlcyBmb3IgY29tcGFyaXNvbiBvcGVyYXRpb25zICYgZGZnQ29udmVydEpTVmFs
dWVUb0ludDMyIHRvIHNpemVfdCwKKyAgICAgICAgICAgICAgQm90aCBuZWVkIHRvIHJldHVybiB2
YWx1ZXMgemVybyBleHRlbmRlZCB0byBmaWxsIGEgcmVnaXN0ZXIuCisgICAgICAgICogZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZVBlZXBIb2xlQnJhbmNoKToKKyAgICAgICAgICAgIC0gY29tcGFyaXNvbnMgbm93IHJl
dHVybiBhIHNpemVfdC4KKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAgICAg
ICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNvbXBhcmUpOgorICAgICAgICAgICAgLSBjb21wYXJpc29ucyBub3cg
cmV0dXJuIGEgc2l6ZV90LgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGFyZSk6CisgICAgICAgICAg
ICAtIGNvbXBhcmlzb25zIG5vdyByZXR1cm4gYSBzaXplX3QuCisKIDIwMTEtMTAtMTAgIEZpbGlw
IFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgSlNWQUxVRTY0IHNwaWxs
L2ZpbGwgY29kZSBzaG91bGQgbm90IGJveCBpbnRlZ2VycyBhbmQgZG91YmxlcwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yMzJfNjQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvcjMy
XzY0LmNwcAkocmV2aXNpb24gOTcxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0pJVENvZGVHZW5lcmF0b3IzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMjQsNyArMTAy
NCw3IEBAIGJvb2wgSklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVDb20KICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLXZvaWQgSklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVQZWVw
aG9sZUJyYW5jaChOb2RlJiBub2RlLCBOb2RlSW5kZXggYnJhbmNoTm9kZUluZGV4LCBNYWNyb0Fz
c2VtYmxlcjo6UmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBCX0RGR09wZXJhdGlvbl9FSkogaGVs
cGVyRnVuY3Rpb24pCit2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlUGVlcGhv
bGVCcmFuY2goTm9kZSYgbm9kZSwgTm9kZUluZGV4IGJyYW5jaE5vZGVJbmRleCwgTWFjcm9Bc3Nl
bWJsZXI6OlJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgU19ERkdPcGVyYXRpb25fRUpKIGhlbHBl
ckZ1bmN0aW9uKQogewogICAgIE5vZGUmIGJyYW5jaE5vZGUgPSBhdChicmFuY2hOb2RlSW5kZXgp
OwogICAgIEJsb2NrSW5kZXggdGFrZW4gPSBtX2ppdC5ncmFwaCgpLmJsb2NrSW5kZXhGb3JCeXRl
Y29kZU9mZnNldChicmFuY2hOb2RlLnRha2VuQnl0ZWNvZGVPZmZzZXQoKSk7CkBAIC0xMDkzLDcg
KzEwOTMsNyBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlUGVlCiAgICAg
ICAgIGFkZEJyYW5jaChtX2ppdC5qdW1wKCksIG5vdFRha2VuKTsKIH0KIAotdm9pZCBKSVRDb2Rl
R2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlQ29tcGFyZShOb2RlJiBub2RlLCBN
YWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBCX0RGR09wZXJhdGlvbl9F
SkogaGVscGVyRnVuY3Rpb24pCit2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZl
Tm9uUGVlcGhvbGVDb21wYXJlKE5vZGUmIG5vZGUsIE1hY3JvQXNzZW1ibGVyOjpSZWxhdGlvbmFs
Q29uZGl0aW9uIGNvbmQsIFNfREZHT3BlcmF0aW9uX0VKSiBoZWxwZXJGdW5jdGlvbikKIHsKICAg
ICBKU1ZhbHVlT3BlcmFuZCBhcmcxKHRoaXMsIG5vZGUuY2hpbGQxKCkpOwogICAgIEpTVmFsdWVP
cGVyYW5kIGFyZzIodGhpcywgbm9kZS5jaGlsZDIoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3I2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yNjQuY3BwCShyZXZpc2lvbiA5
NzEyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvcjY0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQ4LDggKzQ0OCw3IEBAIHZvaWQgSklUQ29kZUdlbmVy
YXRvcjo6bm9uU3BlY3VsYXRpdmVWYWwKIAogICAgIC8vIEZpcnN0IGhhbmRsZSBub24taW50ZWdl
cnMKICAgICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwotICAgIGNhbGxPcGVy
YXRpb24oZGZnQ29udmVydEpTVmFsdWVUb0ludDMyLCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwg
anNWYWx1ZUdwcik7Ci0gICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoR1BSSW5mbzo6cmV0dXJu
VmFsdWVHUFIsIHJlc3VsdEdQUik7CisgICAgY2FsbE9wZXJhdGlvbihkZmdDb252ZXJ0SlNWYWx1
ZVRvSW50MzIsIHJlc3VsdEdQUiwganNWYWx1ZUdwcik7CiAgICAgc2lsZW50RmlsbEFsbFJlZ2lz
dGVycyhyZXN1bHRHUFIpOwogICAgIEpJVENvbXBpbGVyOjpKdW1wIGhhc0NhbGxlZFRvSW50MzIg
PSBtX2ppdC5qdW1wKCk7CiAKQEAgLTk4Niw3ICs5ODUsNyBAQCBib29sIEpJVENvZGVHZW5lcmF0
b3I6Om5vblNwZWN1bGF0aXZlQ29tCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIEpJVENv
ZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlUGVlcGhvbGVCcmFuY2goTm9kZSYgbm9kZSwgTm9k
ZUluZGV4IGJyYW5jaE5vZGVJbmRleCwgTWFjcm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxDb25kaXRp
b24gY29uZCwgQl9ERkdPcGVyYXRpb25fRUpKIGhlbHBlckZ1bmN0aW9uKQordm9pZCBKSVRDb2Rl
R2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZXBob2xlQnJhbmNoKE5vZGUmIG5vZGUsIE5vZGVJ
bmRleCBicmFuY2hOb2RlSW5kZXgsIE1hY3JvQXNzZW1ibGVyOjpSZWxhdGlvbmFsQ29uZGl0aW9u
IGNvbmQsIFNfREZHT3BlcmF0aW9uX0VKSiBoZWxwZXJGdW5jdGlvbikKIHsKICAgICBOb2RlJiBi
cmFuY2hOb2RlID0gYXQoYnJhbmNoTm9kZUluZGV4KTsKICAgICBCbG9ja0luZGV4IHRha2VuID0g
bV9qaXQuZ3JhcGgoKS5ibG9ja0luZGV4Rm9yQnl0ZWNvZGVPZmZzZXQoYnJhbmNoTm9kZS50YWtl
bkJ5dGVjb2RlT2Zmc2V0KCkpOwpAQCAtMTA1Myw3ICsxMDUyLDcgQEAgdm9pZCBKSVRDb2RlR2Vu
ZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZQogICAgICAgICBhZGRCcmFuY2gobV9qaXQuanVtcCgp
LCBub3RUYWtlbik7CiB9CiAKLXZvaWQgSklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVO
b25QZWVwaG9sZUNvbXBhcmUoTm9kZSYgbm9kZSwgTWFjcm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxD
b25kaXRpb24gY29uZCwgQl9ERkdPcGVyYXRpb25fRUpKIGhlbHBlckZ1bmN0aW9uKQordm9pZCBK
SVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlQ29tcGFyZShOb2RlJiBu
b2RlLCBNYWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBTX0RGR09wZXJh
dGlvbl9FSkogaGVscGVyRnVuY3Rpb24pCiB7CiAgICAgSlNWYWx1ZU9wZXJhbmQgYXJnMSh0aGlz
LCBub2RlLmNoaWxkMSgpKTsKICAgICBKU1ZhbHVlT3BlcmFuZCBhcmcyKHRoaXMsIG5vZGUuY2hp
bGQyKCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJh
dG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENv
ZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiA5NzEyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0NSw3ICsz
NDUsNyBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6OndyaXRlQmFycmllcihKU0NlCiAjZW5kaWYK
IH0KIAotYm9vbCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZUNvbXBhcmUoTm9kZSYg
bm9kZSwgTWFjcm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgQl9ERkdPcGVy
YXRpb25fRUpKIGhlbHBlckZ1bmN0aW9uKQorYm9vbCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVj
dWxhdGl2ZUNvbXBhcmUoTm9kZSYgbm9kZSwgTWFjcm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxDb25k
aXRpb24gY29uZCwgU19ERkdPcGVyYXRpb25fRUpKIGhlbHBlckZ1bmN0aW9uKQogewogICAgIE5v
ZGVJbmRleCBicmFuY2hOb2RlSW5kZXggPSBkZXRlY3RQZWVwSG9sZUJyYW5jaCgpOwogICAgIGlm
IChicmFuY2hOb2RlSW5kZXggIT0gTm9Ob2RlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAkocmV2aXNpb24gOTcxMjYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAkod29ya2luZyBj
b3B5KQpAQCAtNzQ3LDkgKzc0Nyw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIG5vblNwZWN1bGF0
aXZlUGVlcGhvbGVCcmFuY2hOdWxsKE5vZGVJbmRleCBvcGVyYW5kLCBOb2RlSW5kZXggYnJhbmNo
Tm9kZUluZGV4LCBib29sIGludmVydCA9IGZhbHNlKTsKICAgICBib29sIG5vblNwZWN1bGF0aXZl
Q29tcGFyZU51bGwoTm9kZSYsIE5vZGVJbmRleCBvcGVyYW5kLCBib29sIGludmVydCA9IGZhbHNl
KTsKICAgICAKLSAgICB2b2lkIG5vblNwZWN1bGF0aXZlUGVlcGhvbGVCcmFuY2goTm9kZSYsIE5v
ZGVJbmRleCBicmFuY2hOb2RlSW5kZXgsIE1hY3JvQXNzZW1ibGVyOjpSZWxhdGlvbmFsQ29uZGl0
aW9uLCBCX0RGR09wZXJhdGlvbl9FSkogaGVscGVyRnVuY3Rpb24pOwotICAgIHZvaWQgbm9uU3Bl
Y3VsYXRpdmVOb25QZWVwaG9sZUNvbXBhcmUoTm9kZSYsIE1hY3JvQXNzZW1ibGVyOjpSZWxhdGlv
bmFsQ29uZGl0aW9uLCBCX0RGR09wZXJhdGlvbl9FSkogaGVscGVyRnVuY3Rpb24pOwotICAgIGJv
b2wgbm9uU3BlY3VsYXRpdmVDb21wYXJlKE5vZGUmLCBNYWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25h
bENvbmRpdGlvbiwgQl9ERkdPcGVyYXRpb25fRUpKIGhlbHBlckZ1bmN0aW9uKTsKKyAgICB2b2lk
IG5vblNwZWN1bGF0aXZlUGVlcGhvbGVCcmFuY2goTm9kZSYsIE5vZGVJbmRleCBicmFuY2hOb2Rl
SW5kZXgsIE1hY3JvQXNzZW1ibGVyOjpSZWxhdGlvbmFsQ29uZGl0aW9uLCBTX0RGR09wZXJhdGlv
bl9FSkogaGVscGVyRnVuY3Rpb24pOworICAgIHZvaWQgbm9uU3BlY3VsYXRpdmVOb25QZWVwaG9s
ZUNvbXBhcmUoTm9kZSYsIE1hY3JvQXNzZW1ibGVyOjpSZWxhdGlvbmFsQ29uZGl0aW9uLCBTX0RG
R09wZXJhdGlvbl9FSkogaGVscGVyRnVuY3Rpb24pOworICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVD
b21wYXJlKE5vZGUmLCBNYWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENvbmRpdGlvbiwgU19ERkdP
cGVyYXRpb25fRUpKIGhlbHBlckZ1bmN0aW9uKTsKICAgICAKICAgICB2b2lkIG5vblNwZWN1bGF0
aXZlUGVlcGhvbGVTdHJpY3RFcShOb2RlJiwgTm9kZUluZGV4IGJyYW5jaE5vZGVJbmRleCwgYm9v
bCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3Ry
aWN0RXEoTm9kZSYsIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwpAQCAtMTEwMCwxNCArMTEwMCwxNCBA
QCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKEJfREZHT3BlcmF0aW9uX0VKIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdCwgR1BSUmVnIGFyZzEpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihT
X0RGR09wZXJhdGlvbl9FSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxKQog
ICAgIHsKICAgICAgICAgbV9qaXQubW92ZShhcmcxLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwog
ICAgICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjph
cmd1bWVudEdQUjApOwogCiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihCX0RGR09wZXJhdGlvbl9FSkogb3BlcmF0aW9uLCBHUFJSZWcg
cmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCisgICAgSklUQ29tcGlsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihTX0RGR09wZXJhdGlvbl9FSkogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0
LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCiAgICAgewogICAgICAgICBzZXR1cFN0dWJBcmd1
bWVudHMoYXJnMSwgYXJnMik7CiAgICAgICAgIG1faml0Lm1vdmUoR1BSSW5mbzo6Y2FsbEZyYW1l
UmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CkBAIC0xMTgyLDEzICsxMTgyLDYgQEAg
cHJvdGVjdGVkOgogCiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
KG9wZXJhdGlvbik7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Wl9ERkdPcGVyYXRpb25fRUogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSkK
LSAgICB7Ci0gICAgICAgIG1faml0Lm1vdmUoYXJnMSwgR1BSSW5mbzo6YXJndW1lbnRHUFIxKTsK
LSAgICAgICAgbV9qaXQubW92ZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6
YXJndW1lbnRHUFIwKTsKLQotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25D
aGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7Ci0gICAgfQogICAgIEpJVENvbXBpbGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oRF9ERkdPcGVyYXRpb25fRUogb3BlcmF0aW9uLCBGUFJSZWcg
cmVzdWx0LCBHUFJSZWcgYXJnMSkKICAgICB7CiAgICAgICAgIG1faml0Lm1vdmUoYXJnMSwgR1BS
SW5mbzo6YXJndW1lbnRHUFIxKTsKQEAgLTEzMjYsNyArMTMxOSw3IEBAIHByb3RlY3RlZDoKIAog
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oQl9ERkdPcGVyYXRpb25fRUogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJn
MVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oU19ERkdPcGVyYXRpb25fRUogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcg
YXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkKQogICAgIHsKICAgICAgICAgbV9qaXQucHVzaChh
cmcxVGFnKTsKICAgICAgICAgbV9qaXQucHVzaChhcmcxUGF5bG9hZCk7CkBAIC0xMzM0LDcgKzEz
MjcsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21w
aWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEJfREZHT3BlcmF0aW9uX0VKSiBvcGVyYXRpb24sIEdQ
UlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIEdQUlJlZyBh
cmcyVGFnLCBHUFJSZWcgYXJnMlBheWxvYWQpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihTX0RGR09wZXJhdGlvbl9FSkogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJS
ZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJSZWcgYXJnMlRhZywgR1BSUmVnIGFy
ZzJQYXlsb2FkKQogICAgIHsKICAgICAgICAgbV9qaXQucHVzaChhcmcyVGFnKTsKICAgICAgICAg
bV9qaXQucHVzaChhcmcyUGF5bG9hZCk7CkBAIC0xNDIzLDE0ICsxNDE2LDYgQEAgcHJvdGVjdGVk
OgogICAgICAgICByZXR1cm4gY2FsbE9wZXJhdGlvbigoVl9ERkdPcGVyYXRpb25fRVBaSilvcGVy
YXRpb24sIGFyZzEsIGFyZzIsIGFyZzNUYWcsIGFyZzNQYXlsb2FkKTsKICAgICB9CiAKLSAgICBK
SVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFpfREZHT3BlcmF0aW9uX0VKIG9wZXJhdGlv
biwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCkKLSAg
ICB7Ci0gICAgICAgIG1faml0LnB1c2goYXJnMVRhZyk7Ci0gICAgICAgIG1faml0LnB1c2goYXJn
MVBheWxvYWQpOwotICAgICAgICBtX2ppdC5wdXNoKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVy
KTsKLQotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3Vs
dChvcGVyYXRpb24sIHJlc3VsdCk7Ci0gICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oRF9ERkdPcGVyYXRpb25fRUogb3BlcmF0aW9uLCBGUFJSZWcgcmVzdWx0LCBHUFJS
ZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkKQogICAgIHsKICAgICAgICAgbV9qaXQucHVz
aChhcmcxVGFnKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9u
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRp
b25zLmNwcAkocmV2aXNpb24gOTcxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTUsMzIgKzQ5NSwzMiBAQCB2b2lk
IERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjCiAgICAgICAgIHN0dWJJbmZvLnNl
ZW4gPSB0cnVlOwogfQogCi1SZWdpc3RlclNpemVkQm9vbGVhbiBERkdfT1BFUkFUSU9OIG9wZXJh
dGlvbkNvbXBhcmVMZXNzKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9w
MSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMikKK3NpemVfdCBERkdfT1BFUkFUSU9OIG9wZXJh
dGlvbkNvbXBhcmVMZXNzKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9w
MSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMikKIHsKICAgICByZXR1cm4ganNMZXNzPHRydWU+
KGV4ZWMsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKSwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRPcDIpKTsKIH0KIAotUmVnaXN0ZXJTaXplZEJvb2xlYW4gREZHX09QRVJBVElPTiBvcGVyYXRp
b25Db21wYXJlTGVzc0VxKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9w
MSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMikKK3NpemVfdCBERkdfT1BFUkFUSU9OIG9wZXJh
dGlvbkNvbXBhcmVMZXNzRXEoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
T3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQogewogICAgIHJldHVybiBqc0xlc3NFcTx0
cnVlPihleGVjLCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMSksIEpTVmFsdWU6OmRlY29kZShl
bmNvZGVkT3AyKSk7CiB9CiAKLVJlZ2lzdGVyU2l6ZWRCb29sZWFuIERGR19PUEVSQVRJT04gb3Bl
cmF0aW9uQ29tcGFyZUdyZWF0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQorc2l6ZV90IERGR19PUEVSQVRJT04g
b3BlcmF0aW9uQ29tcGFyZUdyZWF0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQogewogICAgIHJldHVybiBqc0xl
c3M8ZmFsc2U+KGV4ZWMsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AyKSwgSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRPcDEpKTsKIH0KIAotUmVnaXN0ZXJTaXplZEJvb2xlYW4gREZHX09QRVJBVElP
TiBvcGVyYXRpb25Db21wYXJlR3JlYXRlckVxKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMikKK3NpemVfdCBERkdfT1BF
UkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVHcmVhdGVyRXEoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQogewogICAgIHJl
dHVybiBqc0xlc3NFcTxmYWxzZT4oZXhlYywgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpLCBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMSkpOwogfQogCi1SZWdpc3RlclNpemVkQm9vbGVhbiBE
RkdfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVFcShFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpCitzaXplX3QgREZH
X09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlRXEoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQogewogICAgIHJldHVy
biBKU1ZhbHVlOjplcXVhbFNsb3dDYXNlSW5saW5lKGV4ZWMsIEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkT3AxKSwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpKTsKIH0KIAotUmVnaXN0ZXJTaXpl
ZEJvb2xlYW4gREZHX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlU3RyaWN0RXFDZWxsKEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZE9wMikKK3NpemVfdCBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVTdHJpY3RFcUNl
bGwoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkT3AyKQogewogICAgIEpTVmFsdWUgb3AxID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRPcDEpOwogICAgIEpTVmFsdWUgb3AyID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIp
OwpAQCAtNTMxLDcgKzUzMSw3IEBAIFJlZ2lzdGVyU2l6ZWRCb29sZWFuIERGR19PUEVSQVRJT04g
b3BlcmEKICAgICByZXR1cm4gSlNWYWx1ZTo6c3RyaWN0RXF1YWxTbG93Q2FzZUlubGluZShleGVj
LCBvcDEsIG9wMik7CiB9CiAKLVJlZ2lzdGVyU2l6ZWRCb29sZWFuIERGR19PUEVSQVRJT04gb3Bl
cmF0aW9uQ29tcGFyZVN0cmljdEVxKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMikKK3NpemVfdCBERkdfT1BFUkFUSU9O
IG9wZXJhdGlvbkNvbXBhcmVTdHJpY3RFcShFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpCiB7CiAgICAgcmV0dXJuIEpT
VmFsdWU6OnN0cmljdEVxdWFsKGV4ZWMsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKSwgSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpKTsKIH0KQEAgLTgxNywxMiArODE3LDEzIEBAIGRvdWJs
ZSBERkdfT1BFUkFUSU9OIGRmZ0NvbnZlcnRKU1ZhbHVlVG8KICAgICByZXR1cm4gSlNWYWx1ZTo6
ZGVjb2RlKHZhbHVlKS50b051bWJlcihleGVjKTsKIH0KIAotaW50MzJfdCBERkdfT1BFUkFUSU9O
IGRmZ0NvbnZlcnRKU1ZhbHVlVG9JbnQzMihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IHZhbHVlKQorc2l6ZV90IERGR19PUEVSQVRJT04gZGZnQ29udmVydEpTVmFsdWVUb0ludDMyKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdmFsdWUpCiB7Ci0gICAgcmV0dXJuIEpTVmFs
dWU6OmRlY29kZSh2YWx1ZSkudG9JbnQzMihleGVjKTsKKyAgICAvLyB0b0ludDMyL3RvVUludDMy
IHJldHVybiB0aGUgc2FtZSB2YWx1ZTsgd2Ugd2FudCB0aGUgdmFsdWUgemVybyBleHRlbmRlZCB0
byBmaWxsIHRoZSByZWdpc3Rlci4KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlKS50
b1VJbnQzMihleGVjKTsKIH0KIAotUmVnaXN0ZXJTaXplZEJvb2xlYW4gREZHX09QRVJBVElPTiBk
ZmdDb252ZXJ0SlNWYWx1ZVRvQm9vbGVhbihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRPcCkKK3NpemVfdCBERkdfT1BFUkFUSU9OIGRmZ0NvbnZlcnRKU1ZhbHVlVG9Cb29s
ZWFuKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wKQogewogICAgIHJl
dHVybiBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wKS50b0Jvb2xlYW4oZXhlYyk7CiB9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAkocmV2aXNpb24gOTcx
MjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzgsOCArMzgsNiBAQCBuYW1lc3BhY2UgREZHIHsKIAogZW51bSBQdXRLaW5k
IHsgRGlyZWN0LCBOb3REaXJlY3QgfTsKIAotdHlwZWRlZiBpbnRwdHJfdCBSZWdpc3RlclNpemVk
Qm9vbGVhbjsKLQogZXh0ZXJuICJDIiB7CiAKICNpZiBDQUxMSU5HX0NPTlZFTlRJT05fSVNfQ0RF
Q0wKQEAgLTYwLDcgKzU4LDYgQEAgZXh0ZXJuICJDIiB7CiAgICAgUzogc2l6ZV90CiAgICAgWjog
aW50MzJfdAogICAgIEQ6IGRvdWJsZQotICAgIEI6IEJvb2xlYW4KICAgICBJOiBJZGVudGlmaWVy
KgogICAgIEc6IEdsb2JhbFJlc29sdmVJbmZvKgogKi8KQEAgLTc5LDggKzc2LDggQEAgdHlwZWRl
ZiBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OICgqSgogdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBERkdfT1BFUkFUSU9OICgqSl9ERkdPcGVyYXRpb25fRVBTKShFeGVjU3RhdGUqLCB2b2lkKiwg
c2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiAoKkpfREZHT3Bl
cmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBERkdfT1BFUkFUSU9OICgqSl9ERkdPcGVyYXRpb25fRUkpKEV4ZWNTdGF0ZSosIElk
ZW50aWZpZXIqKTsKLXR5cGVkZWYgUmVnaXN0ZXJTaXplZEJvb2xlYW4gREZHX09QRVJBVElPTiAo
KkJfREZHT3BlcmF0aW9uX0VKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7Ci10eXBlZGVm
IFJlZ2lzdGVyU2l6ZWRCb29sZWFuIERGR19PUEVSQVRJT04gKCpCX0RGR09wZXJhdGlvbl9FSkop
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSk7Cit0eXBlZGVmIHNp
emVfdCBERkdfT1BFUkFUSU9OICgqU19ERkdPcGVyYXRpb25fRUopKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlKTsKK3R5cGVkZWYgc2l6ZV90IERGR19PUEVSQVRJT04gKCpTX0RGR09wZXJhdGlv
bl9FSkopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBl
ZGVmIHZvaWQgREZHX09QRVJBVElPTiAoKlZfREZHT3BlcmF0aW9uX0VKSkopKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRl
ZiB2b2lkIERGR19PUEVSQVRJT04gKCpWX0RGR09wZXJhdGlvbl9FQ0pKKShFeGVjU3RhdGUqLCBK
U0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiB2b2lkIERG
R19PUEVSQVRJT04gKCpWX0RGR09wZXJhdGlvbl9FSlBQKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUsIHZvaWQqKTsKQEAgLTg5LDcgKzg2LDYgQEAgdHlwZWRlZiB2
b2lkIERGR19PUEVSQVRJT04gKCpWX0RGR09wZXJhdAogdHlwZWRlZiB2b2lkIERGR19PUEVSQVRJ
T04gKCpWX0RGR09wZXJhdGlvbl9FQVpKKShFeGVjU3RhdGUqLCBKU0FycmF5KiwgaW50MzJfdCwg
RW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBkb3VibGUgKCpEX0RGR09wZXJhdGlvbl9ERCkoZG91
YmxlLCBkb3VibGUpOyAvLyBVc2luZyBkZWZhdWx0IGNhbGxpbmcgY29udmVudGlvbnMhCiB0eXBl
ZGVmIGRvdWJsZSBERkdfT1BFUkFUSU9OICgqRF9ERkdPcGVyYXRpb25fRUopKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlKTsKLXR5cGVkZWYgaW50MzJfdCBERkdfT1BFUkFUSU9OICgqWl9ERkdP
cGVyYXRpb25fRUopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgdm9pZCog
REZHX09QRVJBVElPTiAoKlBfREZHT3BlcmF0aW9uX0UpKEV4ZWNTdGF0ZSopOwogCiAvLyBUaGVz
ZSByb3V0aW5lcyBhcmUgcHJvdmlkZSBjYWxsYmFja3Mgb3V0IHRvIEMrKyBpbXBsZW1lbnRhdGlv
bnMgb2Ygb3BlcmF0aW9ucyB0b28gY29tcGxleCB0byBKSVQuCkBAIC0xMjksMTMgKzEyNSwxNCBA
QCB2b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljCiB2b2lkIERGR19PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgSlNDZWxsKiBiYXNlLCBJZGVudGlmaWVyKik7CiB2b2lk
IERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNT
dGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgSlNDZWxsKiBiYXNlLCBJZGVudGlm
aWVyKik7CiB2b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmlj
dE9wdGltaXplKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgSlNDZWxs
KiBiYXNlLCBJZGVudGlmaWVyKik7Ci1SZWdpc3RlclNpemVkQm9vbGVhbiBERkdfT1BFUkFUSU9O
IG9wZXJhdGlvbkNvbXBhcmVMZXNzKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRP
cDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwotUmVnaXN0ZXJTaXplZEJvb2xlYW4gREZH
X09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlTGVzc0VxKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwotUmVnaXN0ZXJTaXpl
ZEJvb2xlYW4gREZHX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlR3JlYXRlcihFeGVjU3RhdGUq
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKTsK
LVJlZ2lzdGVyU2l6ZWRCb29sZWFuIERGR19PUEVSQVRJT04gb3BlcmF0aW9uQ29tcGFyZUdyZWF0
ZXJFcShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkT3AyKTsKLVJlZ2lzdGVyU2l6ZWRCb29sZWFuIERGR19PUEVSQVRJT04gb3BlcmF0
aW9uQ29tcGFyZUVxKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwotUmVnaXN0ZXJTaXplZEJvb2xlYW4gREZHX09QRVJBVElP
TiBvcGVyYXRpb25Db21wYXJlU3RyaWN0RXFDZWxsKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwotUmVnaXN0ZXJTaXplZEJv
b2xlYW4gREZHX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlU3RyaWN0RXEoRXhlY1N0YXRlKiwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMik7Cisv
LyBUaGVzZSBjb21wYXJpc29ucyByZXR1cm4gYSBib29sZWFuIHdpdGhpbiBhIHNpemVfdCBzdWNo
IHRoYXQgdGhlIHZhbHVlIGlzIHplcm8gZXh0ZW5kZWQgdG8gZmlsbCB0aGUgcmVnaXN0ZXIuCitz
aXplX3QgREZHX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlTGVzcyhFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKTsKK3NpemVf
dCBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVMZXNzRXEoRXhlY1N0YXRlKiwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMik7CitzaXplX3Qg
REZHX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlR3JlYXRlcihFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKTsKK3NpemVfdCBE
RkdfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVHcmVhdGVyRXEoRXhlY1N0YXRlKiwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMik7CitzaXplX3Qg
REZHX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlRXEoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMik7CitzaXplX3QgREZHX09Q
RVJBVElPTiBvcGVyYXRpb25Db21wYXJlU3RyaWN0RXFDZWxsKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOworc2l6ZV90IERG
R19PUEVSQVRJT04gb3BlcmF0aW9uQ29tcGFyZVN0cmljdEVxKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwogdm9pZCogREZH
X09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ2FsbChFeGVjU3RhdGUqKTsKIHZvaWQqIERGR19P
UEVSQVRJT04gb3BlcmF0aW9uTGlua0NhbGwoRXhlY1N0YXRlKik7CiB2b2lkKiBERkdfT1BFUkFU
SU9OIG9wZXJhdGlvblZpcnR1YWxDb25zdHJ1Y3QoRXhlY1N0YXRlKik7CkBAIC0xNTcsOCArMTU0
LDkgQEAgREZHSGFuZGxlciBERkdfT1BFUkFUSU9OIGxvb2t1cEV4Y2VwdGlvbgogCiAvLyBUaGVz
ZSBvcGVyYXRpb25zIGltcGxlbWVudCB0aGUgaW1wbGljaXRseSBjYWxsZWQgVG9JbnQzMiwgVG9O
dW1iZXIsIGFuZCBUb0Jvb2xlYW4gY29udmVyc2lvbnMgZnJvbSBFUzUuCiBkb3VibGUgREZHX09Q
RVJBVElPTiBkZmdDb252ZXJ0SlNWYWx1ZVRvTnVtYmVyKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlKTsKLWludDMyX3QgREZHX09QRVJBVElPTiBkZmdDb252ZXJ0SlNWYWx1ZVRvSW50MzIoRXhl
Y1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUpOwotUmVnaXN0ZXJTaXplZEJvb2xlYW4gREZHX09QRVJB
VElPTiBkZmdDb252ZXJ0SlNWYWx1ZVRvQm9vbGVhbihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1
ZSk7CisvLyBUaGlzIGNvbnZlcnNpb24gcmV0dXJucyBhbiBpbnQzMl90IHdpdGhpbiBhIHNpemVf
dCBzdWNoIHRoYXQgdGhlIHZhbHVlIGlzIHplcm8gZXh0ZW5kZWQgdG8gZmlsbCB0aGUgcmVnaXN0
ZXIuCitzaXplX3QgREZHX09QRVJBVElPTiBkZmdDb252ZXJ0SlNWYWx1ZVRvSW50MzIoRXhlY1N0
YXRlKiwgRW5jb2RlZEpTVmFsdWUpOworc2l6ZV90IERGR19PUEVSQVRJT04gZGZnQ29udmVydEpT
VmFsdWVUb0Jvb2xlYW4oRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUpOwogCiAjaWYgRU5BQkxF
KERGR19WRVJCT1NFX1NQRUNVTEFUSU9OX0ZBSUxVUkUpCiB2b2lkIERGR19PUEVSQVRJT04gZGVi
dWdPcGVyYXRpb25QcmludFNwZWN1bGF0aW9uRmFpbHVyZShFeGVjU3RhdGUqLCB2b2lkKik7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAJKHJldmlzaW9uIDk3MTI2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc0LDcgKzM3
NCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVPYmplY3RFcXVhbGkKIH0KIAogLy8g
UmV0dXJucyB0cnVlIGlmIHRoZSBjb21wYXJlIGlzIGZ1c2VkIHdpdGggYSBzdWJzZXF1ZW50IGJy
YW5jaC4KLWJvb2wgU3BlY3VsYXRpdmVKSVQ6OmNvbXBhcmUoTm9kZSYgbm9kZSwgTWFjcm9Bc3Nl
bWJsZXI6OlJlbGF0aW9uYWxDb25kaXRpb24gY29uZGl0aW9uLCBNYWNyb0Fzc2VtYmxlcjo6RG91
YmxlQ29uZGl0aW9uIGRvdWJsZUNvbmRpdGlvbiwgQl9ERkdPcGVyYXRpb25fRUpKIG9wZXJhdGlv
bikKK2Jvb2wgU3BlY3VsYXRpdmVKSVQ6OmNvbXBhcmUoTm9kZSYgbm9kZSwgTWFjcm9Bc3NlbWJs
ZXI6OlJlbGF0aW9uYWxDb25kaXRpb24gY29uZGl0aW9uLCBNYWNyb0Fzc2VtYmxlcjo6RG91Ymxl
Q29uZGl0aW9uIGRvdWJsZUNvbmRpdGlvbiwgU19ERkdPcGVyYXRpb25fRUpKIG9wZXJhdGlvbikK
IHsKICAgICBpZiAoY29tcGlsZVBlZXBIb2xlQnJhbmNoKG5vZGUsIGNvbmRpdGlvbiwgZG91Ymxl
Q29uZGl0aW9uLCBvcGVyYXRpb24pKQogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2
aXNpb24gOTcxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MTMsNyArNTEzLDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZU9iamVjdEVxdWFsaQogfQogCiAvLyBSZXR1cm5zIHRydWUgaWYgdGhl
IGNvbXBhcmUgaXMgZnVzZWQgd2l0aCBhIHN1YnNlcXVlbnQgYnJhbmNoLgotYm9vbCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGFyZShOb2RlJiBub2RlLCBNYWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENv
bmRpdGlvbiBjb25kaXRpb24sIE1hY3JvQXNzZW1ibGVyOjpEb3VibGVDb25kaXRpb24gZG91Ymxl
Q29uZGl0aW9uLCBCX0RGR09wZXJhdGlvbl9FSkogb3BlcmF0aW9uKQorYm9vbCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGFyZShOb2RlJiBub2RlLCBNYWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENvbmRp
dGlvbiBjb25kaXRpb24sIE1hY3JvQXNzZW1ibGVyOjpEb3VibGVDb25kaXRpb24gZG91YmxlQ29u
ZGl0aW9uLCBTX0RGR09wZXJhdGlvbl9FSkogb3BlcmF0aW9uKQogewogICAgIGlmIChjb21waWxl
UGVlcEhvbGVCcmFuY2gobm9kZSwgY29uZGl0aW9uLCBkb3VibGVDb25kaXRpb24sIG9wZXJhdGlv
bikpCiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDk3MTI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUGVlcEhvbGVJ
bnRlCiB9CiAKIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29tcGFyZSBpcyBmdXNlZCB3aXRoIGEg
c3Vic2VxdWVudCBicmFuY2guCi1ib29sIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUGVlcEhvbGVC
cmFuY2goTm9kZSYgbm9kZSwgTWFjcm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxDb25kaXRpb24gY29u
ZGl0aW9uLCBNYWNyb0Fzc2VtYmxlcjo6RG91YmxlQ29uZGl0aW9uIGRvdWJsZUNvbmRpdGlvbiwg
Ql9ERkdPcGVyYXRpb25fRUpKIG9wZXJhdGlvbikKK2Jvb2wgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVQZWVwSG9sZUJyYW5jaChOb2RlJiBub2RlLCBNYWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENv
bmRpdGlvbiBjb25kaXRpb24sIE1hY3JvQXNzZW1ibGVyOjpEb3VibGVDb25kaXRpb24gZG91Ymxl
Q29uZGl0aW9uLCBTX0RGR09wZXJhdGlvbl9FSkogb3BlcmF0aW9uKQogewogICAgIC8vIEZ1c2Vk
IGNvbXBhcmUgJiBicmFuY2guCiAgICAgTm9kZUluZGV4IGJyYW5jaE5vZGVJbmRleCA9IGRldGVj
dFBlZXBIb2xlQnJhbmNoKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiA5NzEyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNDYwLDggKzQ2
MCw4IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgYm9vbCBjb21wYXJl
KE5vZGUmLCBNYWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENvbmRpdGlvbiwgTWFjcm9Bc3NlbWJs
ZXI6OkRvdWJsZUNvbmRpdGlvbiwgQl9ERkdPcGVyYXRpb25fRUpKKTsKLSAgICBib29sIGNvbXBp
bGVQZWVwSG9sZUJyYW5jaChOb2RlJiwgTWFjcm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxDb25kaXRp
b24sIE1hY3JvQXNzZW1ibGVyOjpEb3VibGVDb25kaXRpb24sIEJfREZHT3BlcmF0aW9uX0VKSik7
CisgICAgYm9vbCBjb21wYXJlKE5vZGUmLCBNYWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENvbmRp
dGlvbiwgTWFjcm9Bc3NlbWJsZXI6OkRvdWJsZUNvbmRpdGlvbiwgU19ERkdPcGVyYXRpb25fRUpK
KTsKKyAgICBib29sIGNvbXBpbGVQZWVwSG9sZUJyYW5jaChOb2RlJiwgTWFjcm9Bc3NlbWJsZXI6
OlJlbGF0aW9uYWxDb25kaXRpb24sIE1hY3JvQXNzZW1ibGVyOjpEb3VibGVDb25kaXRpb24sIFNf
REZHT3BlcmF0aW9uX0VKSik7CiAgICAgdm9pZCBjb21waWxlUGVlcEhvbGVJbnRlZ2VyQnJhbmNo
KE5vZGUmLCBOb2RlSW5kZXggYnJhbmNoTm9kZUluZGV4LCBKSVRDb21waWxlcjo6UmVsYXRpb25h
bENvbmRpdGlvbik7CiAgICAgdm9pZCBjb21waWxlUGVlcEhvbGVEb3VibGVCcmFuY2goTm9kZSYs
IE5vZGVJbmRleCBicmFuY2hOb2RlSW5kZXgsIEpJVENvbXBpbGVyOjpEb3VibGVDb25kaXRpb24p
OwogICAgIHZvaWQgY29tcGlsZVBlZXBIb2xlT2JqZWN0RXF1YWxpdHkoTm9kZSYsIE5vZGVJbmRl
eCBicmFuY2hOb2RlSW5kZXgsIHZvaWQqIHZwdHIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>