<?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>127136</bug_id>
          
          <creation_ts>2014-01-16 12:51:48 -0800</creation_ts>
          <short_desc>ArithCos in FTL</short_desc>
          <delta_ts>2014-01-20 13:57:24 -0800</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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Mirman">mmirman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>968885</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-01-16 12:51:48 -0800</bug_when>
    <thetext>patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968890</commentid>
    <comment_count>1</comment_count>
      <attachid>221405</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-01-16 12:57:38 -0800</bug_when>
    <thetext>Created attachment 221405
ArithCos patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968906</commentid>
    <comment_count>2</comment_count>
      <attachid>221405</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-01-16 13:35:06 -0800</bug_when>
    <thetext>Comment on attachment 221405
ArithCos patch

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

&gt; Source/JavaScriptCore/ChangeLog:37
&gt; +2014-01-16  Matthew Mirman  &lt;mmirman@apple.com&gt;
&gt; +
&gt; +        ArithSin in FTL
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=127129
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        * ftl/FTLCapabilities.cpp:
&gt; +        (JSC::FTL::canCompile):
&gt; +        * ftl/FTLIntrinsicRepository.h:
&gt; +        * ftl/FTLLowerDFGToLLVM.cpp:
&gt; +        (JSC::FTL::LowerDFGToLLVM::compileNode):
&gt; +        (JSC::FTL::LowerDFGToLLVM::compileArithSin):
&gt; +        * ftl/FTLOutput.h:
&gt; +        (JSC::FTL::Output::doubleSin):
&gt; +        * tests/stress/ftl-arithsin.js: Added.
&gt; +

You should rebase. ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969035</commentid>
    <comment_count>3</comment_count>
      <attachid>221405</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-01-16 22:00:51 -0800</bug_when>
    <thetext>Comment on attachment 221405
ArithCos patch

Looks like you uploaded both cos and sin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969979</commentid>
    <comment_count>4</comment_count>
      <attachid>221686</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-01-20 13:21:12 -0800</bug_when>
    <thetext>Created attachment 221686
ArithCos Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969984</commentid>
    <comment_count>5</comment_count>
      <attachid>221687</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2014-01-20 13:31:26 -0800</bug_when>
    <thetext>Created attachment 221687
ArithCos patch without the deleted change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969989</commentid>
    <comment_count>6</comment_count>
      <attachid>221687</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-01-20 13:41:09 -0800</bug_when>
    <thetext>Comment on attachment 221687
ArithCos patch without the deleted change log 

R=me, I will land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970002</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-01-20 13:57:24 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/162375</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221405</attachid>
            <date>2014-01-16 12:57:38 -0800</date>
            <delta_ts>2014-01-20 13:31:26 -0800</delta_ts>
            <desc>ArithCos patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>6324</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYyMTQxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBA
CisyMDE0LTAxLTE2ICBNYXR0aGV3IE1pcm1hbiAgPG1taXJtYW5AYXBwbGUuY29tPgorCisgICAg
ICAgIEFyaXRoQ29zIGluIEZUTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI3MTM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRM
OjpjYW5Db21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oOgor
ICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRG
R1RvTExWTTo6Y29tcGlsZUFyaXRoQ29zKToKKyAgICAgICAgKiBmdGwvRlRMT3V0cHV0Lmg6Cisg
ICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpkb3VibGVDb3MpOgorICAgICAgICAqIHRlc3RzL3N0
cmVzcy9mdGwtYXJpdGhjb3MuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvZnRsLWFyaXRoc2luLmpzOgorICAgICAgICAoZm9vKToKKworMjAxNC0wMS0x
NiAgTWF0dGhldyBNaXJtYW4gIDxtbWlybWFuQGFwcGxlLmNvbT4KKworICAgICAgICBBcml0aFNp
biBpbiBGVEwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNzEyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGls
ZSk6CisgICAgICAgICogZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBm
dGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9M
TFZNOjpjb21waWxlTm9kZSk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNv
bXBpbGVBcml0aFNpbik6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgorICAgICAgICAoSlND
OjpGVEw6Ok91dHB1dDo6ZG91YmxlU2luKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvZnRsLWFy
aXRoc2luLmpzOiBBZGRlZC4KKwogMjAxNC0wMS0xNSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBw
bGUuY29tPgogCiAgICAgICAgIHJlZW50cmFudC1jYWNoaW5nIHNvbWV0aW1lcyBmYWlscyB3aXRo
IExMSW50IGRpc2FibGVkCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExD
YXBhYmlsaXRpZXMuY3BwCShyZXZpc2lvbiAxNjIxNDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDgg
QEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIAogICAgIGNhc2UgQXJp
dGhNaW46CiAgICAgY2FzZSBBcml0aE1heDoKICAgICBjYXNlIEFyaXRoQWJzOgorICAgIGNhc2Ug
QXJpdGhTaW46CisgICAgY2FzZSBBcml0aENvczoKICAgICBjYXNlIEFyaXRoTmVnYXRlOgogICAg
IGNhc2UgVUludDMyVG9OdW1iZXI6CiAgICAgY2FzZSBJbnQzMlRvRG91YmxlOgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgJ
KHJldmlzaW9uIDE2MjE0MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmlu
c2ljUmVwb3NpdG9yeS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKICAgICBtYWNybyhhZGRXaXRoT3ZlcmZsb3czMiwgImxs
dm0uc2FkZC53aXRoLm92ZXJmbG93LmkzMiIsIGZ1bmN0aW9uVHlwZShzdHJ1Y3RUeXBlKG1fY29u
dGV4dCwgaW50MzIsIGJvb2xlYW4pLCBpbnQzMiwgaW50MzIpKSBcCiAgICAgbWFjcm8oYWRkV2l0
aE92ZXJmbG93NjQsICJsbHZtLnNhZGQud2l0aC5vdmVyZmxvdy5pNjQiLCBmdW5jdGlvblR5cGUo
c3RydWN0VHlwZShtX2NvbnRleHQsIGludDY0LCBib29sZWFuKSwgaW50NjQsIGludDY0KSkgXAog
ICAgIG1hY3JvKGRvdWJsZUFicywgImxsdm0uZmFicy5mNjQiLCBmdW5jdGlvblR5cGUoZG91Ymxl
VHlwZSwgZG91YmxlVHlwZSkpIFwKKyAgICBtYWNybyhkb3VibGVTaW4sICJsbHZtLnNpbi5mNjQi
LCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91YmxlVHlwZSkpIFwKKyAgICBtYWNybyhkb3Vi
bGVDb3MsICJsbHZtLmNvcy5mNjQiLCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91YmxlVHlw
ZSkpIFwKICAgICBtYWNybyhmcmFtZUFkZHJlc3MsICJsbHZtLmZyYW1lYWRkcmVzcyIsIGZ1bmN0
aW9uVHlwZShwb2ludGVyVHlwZShpbnQ4KSwgaW50MzIpKSBcCiAgICAgbWFjcm8obXVsV2l0aE92
ZXJmbG93MzIsICJsbHZtLnNtdWwud2l0aC5vdmVyZmxvdy5pMzIiLCBmdW5jdGlvblR5cGUoc3Ry
dWN0VHlwZShtX2NvbnRleHQsIGludDMyLCBib29sZWFuKSwgaW50MzIsIGludDMyKSkgXAogICAg
IG1hY3JvKG11bFdpdGhPdmVyZmxvdzY0LCAibGx2bS5zbXVsLndpdGgub3ZlcmZsb3cuaTY0Iiwg
ZnVuY3Rpb25UeXBlKHN0cnVjdFR5cGUobV9jb250ZXh0LCBpbnQ2NCwgYm9vbGVhbiksIGludDY0
LCBpbnQ2NCkpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0xMVk0uY3BwCShyZXZpc2lvbiAxNjIxNDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDYgKzMy
NiwxMiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFyaXRoQWJzOgogICAgICAgICAgICAgY29t
cGlsZUFyaXRoQWJzKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcml0aFNp
bjoKKyAgICAgICAgICAgIGNvbXBpbGVBcml0aFNpbigpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgQXJpdGhDb3M6CisgICAgICAgICAgICBjb21waWxlQXJpdGhDb3MoKTsKKyAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFyaXRoTmVnYXRlOgogICAgICAgICAgICAg
Y29tcGlsZUFyaXRoTmVnYXRlKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTExODgsNiArMTE5
NCwzNiBAQCBwcml2YXRlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CisK
KyAgICB2b2lkIGNvbXBpbGVBcml0aFNpbigpCisgICAgeworICAgICAgICBzd2l0Y2ggKG1fbm9k
ZS0+Y2hpbGQxKCkudXNlS2luZCgpKSB7CisgICAgICAgIAorICAgICAgICBjYXNlIE51bWJlclVz
ZTogeworICAgICAgICAgICAgc2V0RG91YmxlKG1fb3V0LmRvdWJsZVNpbihsb3dEb3VibGUobV9u
b2RlLT5jaGlsZDEoKSkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAg
ICAgICAKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZv
aWQgY29tcGlsZUFyaXRoQ29zKCkKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9ub2RlLT5jaGls
ZDEoKS51c2VLaW5kKCkpIHsKKyAgICAgICAgCisgICAgICAgIGNhc2UgTnVtYmVyVXNlOiB7Cisg
ICAgICAgICAgICBzZXREb3VibGUobV9vdXQuZG91YmxlQ29zKGxvd0RvdWJsZShtX25vZGUtPmNo
aWxkMSgpKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgICAgIAor
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQogICAgIAogICAgIHZvaWQg
Y29tcGlsZUFyaXRoTmVnYXRlKCkKICAgICB7CkBAIC00NDA2LDcgKzQ0NDIsNyBAQCBwcml2YXRl
OgogICAgICAgICAKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIAorCiAgICAgdm9p
ZCBhZGRBdmFpbGFibGVSZWNvdmVyeSgKICAgICAgICAgTm9kZSogbm9kZSwgUmVjb3ZlcnlPcGNv
ZGUgb3Bjb2RlLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0LCBWYWx1ZUZvcm1hdCBmb3JtYXQp
CiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCShyZXZpc2lv
biAxNjIxNDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xODQsNyArMTg0LDE3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJl
dHVybiBjYWxsKGRvdWJsZUFic0ludHJpbnNpYygpLCB2YWx1ZSk7CiAgICAgfQotICAgIAorICAg
IExWYWx1ZSBkb3VibGVTaW4oTFZhbHVlIHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGNh
bGwoZG91YmxlU2luSW50cmluc2ljKCksIHZhbHVlKTsKKyAgICB9CisKKworICAgIExWYWx1ZSBk
b3VibGVDb3MoTFZhbHVlIHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGNhbGwoZG91Ymxl
Q29zSW50cmluc2ljKCksIHZhbHVlKTsKKyAgICB9CisKICAgICBzdGF0aWMgYm9vbCBoYXNTZW5z
aWJsZURvdWJsZVRvSW50KCkgeyByZXR1cm4gaXNYODYoKTsgfQogICAgIExWYWx1ZSBzZW5zaWJs
ZURvdWJsZVRvSW50KExWYWx1ZSB2YWx1ZSkKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1hcml0aGNvcy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1hcml0aGNvcy5qcwkocmV2aXNpb24gMCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRoY29zLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0
dXJuIE1hdGguY29zKHgpOworfQorCitub0lubGluZShmb28pOworCit2YXIgaiA9IDA7Citmb3Ig
KHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIGogPSBmb28oaSk7CisKK2lmICgtMC41
MDk4NzUzNzI0MTc5MDA5ICE9IGopeworICAgIHRocm93ICJFcnJvciIKK30KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRoc2luLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRoc2luLmpzCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtYXJp
dGhzaW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorZnVuY3Rpb24gZm9vKHgp
IHsKKyAgICByZXR1cm4gTWF0aC5zaW4oeCk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK3ZhciBq
ID0gMDsKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpCisgICAgaiA9IGZvbyhpKTsK
KworaWYgKDAuODYwMjQ4MjgwNzg5NzQyICE9IGopeworICAgIHRocm93ICJFcnJvciIKK30K
</data>
<flag name="review"
          id="245313"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221686</attachid>
            <date>2014-01-20 13:21:12 -0800</date>
            <delta_ts>2014-01-20 13:31:26 -0800</delta_ts>
            <desc>ArithCos Patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>16303</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYyMzcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwyNTQgKzEsMjkg
QEAKLTIwMTQtMDEtMTkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KLQotICAgICAg
ICBGVEwgc2hvdWxkIGFzY3JpYmUgcmFuZ2UgbWV0YS1kYXRhIHdoZW4gbG9hZGluZyBhcnJheS5s
ZW5ndGgKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NjU0MwotCi0gICAgICAgIE5vdCB5ZXQgcmV2aWV3ZWQuCi0gICAgICAgIAotICAgICAgICBUaGUg
bWFpbiB0aGluZyB0aGlzIGFjY29tcGxpc2hlcyBpcyB3ZSBub3cgaGF2ZSBPdXRwdXQ6OmxvYWQz
Mk5vbk5lZ2F0aXZlKCkgd2hpY2ggaXMKLSAgICAgICAgYSAzMi1iaXQgaW50ZWdlciBsb2FkIHRo
YXQgcHJvbWlzZXMgdGhhdCB0aGUgdmFsdWUgaXMgbm90IG5lZ2F0aXZlLiBXZSB0aGVuIHVzZSB0
aGF0Ci0gICAgICAgIGZvciBhbGwgbGVuZ3RoIGxvYWRzLgotICAgICAgICAKLSAgICAgICAgQnV0
IHVuZGVybmVhdGggdGhhdCwgd2UgaGF2ZSB0aGUgbm90aW9uIG9mIFZhbHVlUmFuZ2UsIHdoaWNo
IGlzIGEgc2ltcGxpZmllZAotICAgICAgICBlbmNhcHN1bGF0aW9uIG9mIExMVk0gInJhbmdlIiBt
ZXRhZGF0YS4KLSAgICAgICAgCi0gICAgICAgIEkgY29uc2lkZXJlZCBtYWtpbmcgdGhlIHJhbmdl
IG1ldGEtZGF0YSBwYXJ0IG9mIEFic3RyYWN0SGVhcC4gSXQgd291bGQgbWFrZSBzZW5zZQotICAg
ICAgICB0aGVyZS4gQnV0IGNvbnNpZGVyaW5nIHRoYXQgd2UganVzdCB1c2UgdGhpcyBmb3IgYmFz
aWNhbGx5IG9uZSB0aGluZyAodGhlIGxlbmd0aCksIGl0Ci0gICAgICAgIGZlZWxzIGxpa2UgY29u
ZmxhdGluZyB0aGlzIHdpdGggdGhlIEFic3RyYWN0SGVhcCB3b3VsZCByZXN1bHQgaW4gc29tZQot
ICAgICAgICBvdmVyZW5naW5lZXJpbmcuIFdlIHNob3VsZCByZXZpc2l0IHRoaXMgaWYgd2UgZXZl
ciBoYXZlIG90aGVyIHJhbmdlcy4KLQotICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6Ci0gICAgICAgICogZnRsL0ZUTENvbW1vblZhbHVlcy5jcHA6Ci0g
ICAgICAgIChKU0M6OkZUTDo6Q29tbW9uVmFsdWVzOjpDb21tb25WYWx1ZXMpOgotICAgICAgICAq
IGZ0bC9GVExDb21tb25WYWx1ZXMuaDoKLSAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0u
Y3BwOgotICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlR2V0QXJyYXlM
ZW5ndGgpOgotICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlR2V0QnlW
YWwpOgotICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlU3RyaW5nQ2hh
ckF0KToKLSAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZVN0cmluZ0No
YXJDb2RlQXQpOgotICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlU3dp
dGNoKToKLSAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6dHlwZWRBcnJheUxlbmd0
aCk6Ci0gICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmJvb2xpZnkpOgotICAgICAg
ICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb250aWd1b3VzUHV0QnlWYWxPdXRPZkJvdW5k
cyk6Ci0gICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgotICAgICAgICAoSlNDOjpGVEw6Ok91dHB1
dDo6YXNjcmliZVJhbmdlKToKLSAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6Om5vbk5lZ2F0aXZl
MzIpOgotICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6bG9hZDMyTm9uTmVnYXRpdmUpOgotICAg
ICAgICAqIGZ0bC9GVExWYWx1ZVJhbmdlLmNwcDogQWRkZWQuCi0gICAgICAgIChKU0M6OkZUTDo6
VmFsdWVSYW5nZTo6ZGVjb3JhdGVJbnN0cnVjdGlvbik6Ci0gICAgICAgICogZnRsL0ZUTFZhbHVl
UmFuZ2UuaDogQWRkZWQuCi0gICAgICAgIChKU0M6OkZUTDo6VmFsdWVSYW5nZTo6VmFsdWVSYW5n
ZSk6Ci0gICAgICAgIChKU0M6OkZUTDo6VmFsdWVSYW5nZTo6YmVnaW4pOgotICAgICAgICAoSlND
OjpGVEw6OlZhbHVlUmFuZ2U6OmVuZCk6Ci0KLTIwMTQtMDEtMTYgIE1hcmsgTGFtICA8bWFyay5s
YW1AYXBwbGUuY29tPgotCi0gICAgICAgIEZpeCAzMi1iaXQgQyBsb29wIExMSU5ULgotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MDg2LgotCi0gICAg
ICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgotCi0gICAgICAgICogbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjMyXzY0LmFzbToKLQotMjAxNC0wMS0xNyAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgorMjAxNC0wMS0xNiAgTWF0dGhldyBNaXJtYW4gIDxtbWlybWFuQGFwcGxl
LmNvbT4KIAotICAgICAgICBGVEwgbWlzaGFuZGxlcyAoLTIxNDc0ODM2NDggJSAwKSB8IDAKLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzIxNQorICAg
ICAgICBBcml0aENvcyBpbiBGVEwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNzEzNgogCi0gICAgICAgIE5vdCB5ZXQgcmV2aWV3ZWQuCi0gICAgICAg
IAotICAgICAgICBUaGlzIGZpeGVzOgotICAgICAgICAKLSAgICAgICAgICAgIGpzYy1sYXlvdXQt
dGVzdHMueWFtbC9qcy9zY3JpcHQtdGVzdHMvZGZnLW1vZC1uZWcydG90aGUzMS1ieS1vbmUtYW5k
LXRoZW4tb3ItemVyby13aXRoLWludGVyZXN0aW5nLXJlZy1hbGxvYy5qcy5sYXlvdXQtZnRsLWVh
Z2VyLW5vLWNqaXQKLSAgICAgICAgCi0gICAgICAgIE5vdyB0aGUgRlRMIHBhc3NlcyBhbGwgSlND
IGxheW91dCB0ZXN0cy4KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAg
ICAgICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5D
b21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oOgogICAgICAg
ICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CiAgICAgICAgIChKU0M6OkZUTDo6TG93ZXJE
RkdUb0xMVk06OmNvbXBpbGVOb2RlKToKLSAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExW
TTo6Y29tcGlsZUFyaXRoRGl2TW9kKToKLQotMjAxNC0wMS0xNyAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgotCi0gICAgICAgIEZUTCBzaG91bGQgdXBkYXRlIG1hY2hpbmUgdmlydHVh
bCByZWdpc3RlcnMgaW4gcnVudGltZSBtZXRhLWRhdGEgYWNjb3JkaW5nIHRvIHRoZSBjYXB0dXJl
ZCBzdGFja21hcAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI1NzI1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgTWljaGFlbCBTYWJvZmYuCi0gICAgICAg
IAotICAgICAgICBUaGlzIGlzIHByZXR0eSBhd2Vzb21lIC0gaXQgY2xvc2VzIHRoZSBsb29wIG9u
IG91ciBGVEwgc3RhY2t3YWxraW5nIHN0b3J5LiBXZSB1c2UKLSAgICAgICAgYW4gYWxsb2NhIGZv
ciBzdG9yaW5nIGFsbCBvZiB0aGUgdGhpbmdzIHRoYXQgdGhlIHJ1bnRpbWUgd2lsbCB3YW50IHRv
IGRpc2NvdmVyCi0gICAgICAgIGR1cmluZyBhIHN0YWNrIHdhbGssIGxpa2UgdGhlIGNsb3N1cmUg
cG9pbnRlciBmb3IgaW5saW5lZCBjbG9zdXJlIGNhbGxzIGFuZCB0aGUKLSAgICAgICAgYXJndW1l
bnRzIHRvIGlubGluZWQgZnVuY3Rpb25zLiBXZSB0aGVuIHBhc3MgdGhhdCBhbGxvY2EgYXMgYW4g
YXJndW1lbnQgdG8gYQotICAgICAgICBzdGFja21hcCBpbiB0aGUgcHJvbG9ndWUsIGFuZCBMTFZN
IHJlcG9ydHMgdGhlIGFsbG9jYSdzIGZyYW1lIG9mZnNldCB1c2luZyBhCi0gICAgICAgIHN0YWNr
bWFwIGRpcmVjdCBlbnRyeS4gV2UgY2FsbCB0aGlzIHRoZSAibG9jYWxzT2Zmc2V0Ii4gUHJldmlv
dXNseSB3ZSBqdXN0IHVzZWQKLSAgICAgICAgdGhpcyB0byB1cGRhdGUgc29tZSBPU1IgZXhpdCBt
ZXRhLWRhdGEuIE5vdyB3ZSBhbHNvIHVzZSBpdCB0byBwcm9wZXJseSBhZGp1c3QgdGhlCi0gICAg
ICAgIFZhbHVlUmVjb3ZlcnkgbWV0YS1kYXRhIGluIGlubGluZSBjYWxsIGZyYW1lcy4KLSAgICAg
ICAgCi0gICAgICAgIEN1cnJlbnRseSB3ZSBvbmx5IGhhdmUgdG8gZG8gdGhpcyBmb3IgaW5saW5l
IGNhbGwgZnJhbWVzIGFuZCBPU1IgZXhpdHMsIGJ1dCBpbiB0aGUKLSAgICAgICAgZnV0dXJlIHdl
J2xsIHVzZSBzaW1pbGFyIHRlY2huaXF1ZXMgZm9yIGFjdGl2YXRpb25zLiBUaGlzIGJ1ZyBkb2Vz
bid0IGNvdmVyIHRoYXQKLSAgICAgICAgc2luY2UgdGhlIEZUTCBkb2Vzbid0IHN1cHBvcnQgY29t
cGlsaW5nIGZ1bmN0aW9ucyB0aGF0IGNyZWF0ZSBhY3RpdmF0aW9ucywgeWV0LgotICAgICAgICBU
aGlzIGNoYW5nZSBtYWtlcyB1cyBpbmNvcnBvcmF0ZSBsb2NhbHNPZmZzZXQgaW50byBhbGwgb2Yg
dGhlIHJlbGV2YW50IHRoaW5ncyB0aGF0Ci0gICAgICAgIHRoZSBGVEwgc3VwcG9ydHMuCi0gICAg
ICAgIAotICAgICAgICBUaGlzIGZpeGVzOgotICAgICAgICAKLSAgICAgICAgICAgIGpzYy1sYXlv
dXQtdGVzdHMueWFtbC9qcy9zY3JpcHQtdGVzdHMvZGZnLWlubGluZS1hcmd1bWVudHMtdXNlLWZy
b20tYWxsLXRoZS1wbGFjZXMuanMubGF5b3V0LWZ0bC1lYWdlci1uby1jaml0Ci0gICAgICAgIAot
ICAgICAgICBXaXRoIHRoaXMgZml4LCB0aGUgRlRMIG9ubHkgZmFpbHMgb25lIG9mIHRoZSBKU0Mg
bGF5b3V0IHRlc3RzLgotCi0gICAgICAgICogYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oOgotICAg
ICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5Ojp3aXRoTG9jYWxzT2Zmc2V0KToKLSAgICAgICAgKiBm
dGwvRlRMQ29tcGlsZS5jcHA6Ci0gICAgICAgIChKU0M6OkZUTDo6Zml4RnVuY3Rpb25CYXNlZE9u
U3RhY2tNYXBzKToKLQotMjAxNC0wMS0xNyAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxl
LmNvbT4KLQotICAgICAgICBDU3RhY2sgQnJhbmNoOiBGaXggQmFzZWxpbmUgSklUIGZvciBYODYt
MzIKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzIw
MQotCi0gICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgotCi0gICAgICAgIE1vc3Qg
b2YgdGhlIGNoYW5nZXMgYXJlIHRvIGZvbGxvdyBjYWxsaW5nIGNvbnZlbnRpb24gKGVtaXRpbmcg
ZnVuY3Rpb24gcHJvbG9ndWVzIGFuZAotICAgICAgICBlcGlsb2d1ZXMpIGFuZCBtYWtpbmcgcm9v
bSBvbiB0aGUgc3RhY2sgZm9yIG91dGdvaW5nIGFyZ3VtZW50cy4KLQotICAgICAgICAqIGludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcDoKLSAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OnVud2lu
ZCk6Ci0gICAgICAgICogaml0L0pJVC5jcHA6Ci0gICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNv
bXBpbGUpOiBFbGltaW5hdGVkIHN0YWNrIGFsaWdubWVudCBjaGVjayBiZWZvcmUgbW92aW5nIHRo
ZSBzdGFjawotICAgICAgICBwb2ludGVyIGRvd24gZm9yIGxvY2FscyBzaW5jZSBpdCB3aWxsIG5v
dCBiZSBhbGlnbmVkIGF0IHRoYXQgdGltZS4gIFRoZSBtb3ZlIHdpbGwgYWxpZ24KLSAgICAgICAg
dGhlIHN0YWNrIHBvaW50ZXIuCi0gICAgICAgIChKU0M6OkpJVDo6ZnJhbWVSZWdpc3RlckNvdW50
Rm9yKTogQ2hhbmdlZCB0byBhbGxvY2F0ZSB0aGUgb3V0Z29pbmcgcmVnaXN0ZXIgc3BhY2UKLSAg
ICAgICAgYWZ0ZXIgcm91bmRpbmcgdGhlIG51bWJlciBvZiBsb2NhbCByZWdpc3RlcnMgYXMgdGhl
IG91dGdvaW5nIHJlZ2lzdGVyIGNvdW50IHdpbGwKLSAgICAgICAgcHJvcGVybHkgYWxpZ24gdGhl
IGxvY2FsIHJlZ2lzdGVycy4KLSAgICAgICAgKiBqaXQvSklUQ2FsbDMyXzY0LmNwcDoKLSAgICAg
ICAgKEpTQzo6SklUOjplbWl0X29wX3JldCk6IENoYW5nZWQgdG8gZW1pdCBlcGlsb2d1ZS4KLSAg
ICAgICAgKEpTQzo6SklUOjplbWl0X29wX3JldF9vYmplY3Rfb3JfdGhpcyk6IENoYW5nZWQgdG8g
ZW1pdCBlcGlsb2d1ZS4KLSAgICAgICAgKEpTQzo6SklUOjpjb21waWxlTG9hZFZhcmFyZ3MpOiBB
bGlnbm1lbnQgY2hhbmdlcyBtYXRjaGluZyB3aGF0IGlzIGluCi0gICAgICAgIEpJVENhbGwuY3Bw
OjpKSVQ6OmNvbXBpbGVMb2FkVmFyYXJncy4KLSAgICAgICAgKEpTQzo6SklUOjpjb21waWxlQ2Fs
bEV2YWxTbG93Q2FzZSk6IENoYW5nZWQgdG8gdXNlIHRoZSBzdGFjayBwb2ludGVyIHRvIGZpbGwt
aW4gdGhlCi0gICAgICAgIG5ldyBjYWxsZWUgZnJhbWUuCi0gICAgICAgIChKU0M6OkpJVDo6Y29t
cGlsZU9wQ2FsbCk6IENoYW5nZWQgdG8gdXNlIHRoZSBzdGFjayBwb2ludGVyIHRvIGZpbGwtaW4g
dGhlCi0gICAgICAgIG5ldyBjYWxsZWUgZnJhbWUuCi0gICAgICAgIChKU0M6OkpJVDo6Y29tcGls
ZU9wQ2FsbFNsb3dDYXNlKTogQ29kZSB0byByZXN0b3JlIHRoZSBzdGFjayBwb2ludGVyIGFmdGVy
IHRoZSBjYWxsLgotICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKLSAgICAgICAgKEpTQzo6
SklUOjplbWl0X29wX3JldF9vYmplY3Rfb3JfdGhpcyk6IFJlbW92ZSBkZWFkIGNvZGUgaW4gNjQg
Yml0IHBhdGggZm91bmQgd2hpbGUgCi0gICAgICAgIHdvcmtpbmcgb24gdGhpcyBwYXRjaC4KLSAg
ICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoKLSAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZUNUSU5hdGl2ZUNhbGwpOiBDaGFuZ2VzIHRvIGZvbGxvdyBuYXRpdmUgY2FsbGlu
ZyBjb252ZW50aW9uLAotICAgICAgICBhbGxvY2F0ZSBzcGFjZSBhbmQgcG9wdWxhdGUgb3V0Z29p
bmcgYXJncyBhbmQgcGFzcyB0aGUgY2FsbGVyIHRvIG9wZXJhdGlvblZNSGFuZGxlRXhjZXB0aW9u
LgotICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZW5kKTogRW1pdCB0aGUgZXBpbG9ndWUuCi0g
ICAgICAgICogaml0L1RodW5rR2VuZXJhdG9ycy5jcHA6Ci0gICAgICAgIChKU0M6OnNsb3dQYXRo
Rm9yKTogQWxsb2NhdGUgc3RhY2sgc3BhY2UgZm9yIGFyZ3VtZW50cy4KLSAgICAgICAgKEpTQzo6
YXJpdHlGaXh1cCk6IENoYW5nZXMgdG8gbWF0Y2ggNjQgYml0IGNvZGUuCi0gICAgICAgICogcnVu
dGltZS9Db21tb25TbG93UGF0aHMuY3BwOgotICAgICAgICAoSlNDOjpTTE9XX1BBVEhfREVDTCk6
IFdoaXRlc3BhY2UgY2xlYW51cC4KLQotMjAxNC0wMS0xNyAgTWljaGFlbCBTYWJvZmYgIDxtc2Fi
b2ZmQGFwcGxlLmNvbT4KLQotICAgICAgICBDU3RhY2sgQnJhbmNoOiBYODYtMzIgRml4IExMSW50
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjcwNzEK
LQotICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KLQotICAgICAgICBUaGlzIGZpeGVz
IFg4Ni0zMiBjb21waWxhdGlvbiBpc3N1ZXMgaW4gSklUQ2FsbDMyXzY0LmNwcCBhbmQgSklUUHJv
cGVydHlBY2Nlc3MzMl82NC5jcHAuCi0KLSAgICAgICAgRml4ZWQgdGhlIDMyIGJpdCBMTEludCB0
byB3b3JrIHdpdGggWDg2LiAgU2luY2UgWDg2IHBhc3NlcyBhcmd1bWVudHMgb24gdGhlIHN0YWNr
LAotICAgICAgICBjYWxscyAoZS5nLiBMTEludCBDQ2FsbDIsIEpJVE9wZXJhdGlvbnM6OmdldEhv
c3RDYWxsUmV0dXJuVmFsdWUpIG5lZWQgdG8gbWFrZSBhbgotICAgICAgICBvdXRnb2luZyBhcmd1
bWVudCBhcmVhIG9uIHRoZSBzdGFjaywgcG9wdWxhdGUgdGhlIGFyZ3VtZW50cyBhbmQgdGhlbiBt
YWtlIHRoZSBjYWxsLgotCi0gICAgICAgIE11Y2ggb2YgdGhlIGFyZ3VtZW50IGFuZCBjYWxsIGxv
Z2ljIGlzIGJhc2VkIG9uIHRoZSBhbGlnbm1lbnQgb2YgdGhlIHN0YWNrIHBvaW50ZXIKLSAgICAg
ICAgYW5kIGNhbGwgZnJhbWUgcmVnaXN0ZXIuICBUaGUgc3RhY2sgcG9pbnRlciBhdCB0aGUgdGlt
ZSBvZiBhIGNhbGwgbmVlZHMgdG8gYmUKLSAgICAgICAgc3RhY2tBbGlnbm1lbnRCeXRlcygpICgx
NiBieXRlKSBhbGlnbmVkLiAgVGhlIGNhbGwgZnJhbWUgcmVnaXN0ZXIsIHdoaWNoIHBvaW50cyBh
dAotICAgICAgICB0aGUgY3VycmVudCBjYWxsIGZyYW1lIHdpbGwgYmUgYXQgYW4gYWxpZ25tZW50
IHRoYXQgaXMgc3RhY2tBbGlnbm1lbnRCeXRlcygpIG1pbnVzCi0gICAgICAgIHdoYXQgZ2V0cyBw
dXNoZWQgb24gdGhlIHN0YWNrIGFzIHBhcnQgb2YgdGhlIGNhbGwsIGkuZS4gdGhlIGNhbGxlciBQ
QyBhbmQgY2FsbGVyCi0gICAgICAgIGZyYW1lIHBvaW50ZXIuICBGb3IgdXMgdGhpcyBpcyBKU1N0
YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSAqIHNpemVvZihSZWdpc3RlcikuCi0KLSAgICAgICAg
VXNpbmcgcm91bmRMb2NhbFJlZ2lzdGVyQ291bnRGb3JGcmFtZVBvaW50ZXJPZmZzZXQoKSBlbGlt
aW5hdGVzIHRoZSBuZWVkIGZvcgotICAgICAgICBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2Fs
bCBuZWVkaW5nIGFkZGl0aW9uYWwgYnl0ZXMgdG8gcGFkIG91dCB0aGUgc3RhY2sKLSAgICAgICAg
dG8gYmUgYWxpZ25lZC4KLQotICAgICAgICBUZXN0ZWQgb24gWDg2LTMyIHdpdGggTExJbnQgb25s
eSB0ZXN0YXBpLiAgVGVzdGVkIG9uIFg4Ni02NCB3aXRoIGFsbCBqYXZhc2NyaXB0IHRlc3RzLgot
Ci0gICAgICAgICogYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmg6Ci0g
ICAgICAgICogaW50ZXJwcmV0ZXIvUHJvdG9DYWxsRnJhbWUuY3BwOgotICAgICAgICAoSlNDOjpQ
cm90b0NhbGxGcmFtZTo6aW5pdCk6Ci0gICAgICAgICogaW50ZXJwcmV0ZXIvUHJvdG9DYWxsRnJh
bWUuaDoKLSAgICAgICAgKEpTQzo6UHJvdG9DYWxsRnJhbWU6OnNldFBhZGRlZEFyZ0NvdW50KToK
LSAgICAgICAgKiBqaXQvSklUQ2FsbDMyXzY0LmNwcDoKLSAgICAgICAgKEpTQzo6SklUOjpjb21w
aWxlQ2FsbEV2YWwpOgotICAgICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVPcENhbGxTbG93Q2FzZSk6
Ci0gICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgotICAgICAgICAqIGppdC9KSVRQcm9w
ZXJ0eUFjY2VzczMyXzY0LmNwcDoKLSAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2dldF9ieV9p
ZCk6Ci0gICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQpOgotICAgICAgICAqIGxs
aW50L0xMSW50RGF0YS5jcHA6Ci0gICAgICAgIChKU0M6OkxMSW50OjpEYXRhOjpwZXJmb3JtQXNz
ZXJ0aW9ucyk6Ci0gICAgICAgICogbGxpbnQvTExJbnRFbnRyeXBvaW50LmNwcDoKLSAgICAgICAg
KEpTQzo6TExJbnQ6OmZyYW1lUmVnaXN0ZXJDb3VudEZvcik6Ci0gICAgICAgICogbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Ci0gICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjMyXzY0LmFzbToKLSAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgot
ICAgICAgICAqIHJ1bnRpbWUvU3RhY2tBbGlnbm1lbnQuaDoKLSAgICAgICAgKEpTQzo6cm91bmRB
cmd1bWVudENvdW50VG9BbGlnbkZyYW1lKToKLSAgICAgICAgKEpTQzo6cm91bmRMb2NhbFJlZ2lz
dGVyQ291bnRGb3JGcmFtZVBvaW50ZXJPZmZzZXQpOgotCi0yMDE0LTAxLTE2ICBGaWxpcCBQaXps
byAgPGZwaXpsb0BhcHBsZS5jb20+Ci0KLSAgICAgICAgRlRMIHdhdGNocG9pbnQgdGVzdHMgdGhh
dCB1c2UgZGZnSW5jcmVtZW50KCkgYW5kIGZyaWVuZHMgZmFpbCBiZWNhdXNlIG51bWJlck9mREZH
Q29tcGlsZXMoKSByZXR1cm5zIHplcm8gd2l0aCAtLXRlc3RUaGVGVEw9dHJ1ZSBhbmQgcmlnaHQg
YWZ0ZXIgdGhlIGZpcnN0IEZUTCBPU1IgZXhpdCBidXQganVzdCBiZWZvcmUgcmVjb21waWxhdGlv
biBpcyB0cmlnZ2VyZWQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNzE2MwotCi0gICAgICAgIFJldmlld2VkIGJ5IE1pY2hhZWwgU2Fib2ZmLgotICAg
ICAgICAKLSAgICAgICAgV2UganVzdCBuZWVkIHRvIHRyYWNrIGlmIHdlIGhhZCBldmVyIGNvbXBp
bGVkIHdpdGggdGhlIEZUTC4gQWxzbyByZXdvcmsgdGhlIHZhcmlvdXMKLSAgICAgICAgYm9vbCdz
IGluIENvZGVCbG9jayBzbyB0aGF0IHRoZXkgYXJlIGJpdGZpZWxkcyBpZiBwb3NzaWJsZS4gVG8g
dGhhdCBlbmQsIG1ha2Ugc3VyZQotICAgICAgICB3ZSBvbmx5IHdyaXRlIHRvIHRoZW0gZnJvbSB0
aGUgbWFpbiB0aHJlYWQuCi0gICAgICAgIAotICAgICAgICBUaGlzIGZpeGVzIGEgYnVuY2ggb2Yg
TGF5b3V0VGVzdHMgd2l0aCAtLWZ0bC1qaXQuIE5vdyBvbmx5IHR3byBmYWlsLgotCi0gICAgICAg
ICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKLSAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1w
QXNzdW1pbmdKSVRUeXBlKToKLSAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpDb2RlQmxvY2spOgot
ICAgICAgICAoSlNDOjpDb2RlQmxvY2s6Om51bWJlck9mREZHQ29tcGlsZXMpOgotICAgICAgICAq
IGJ5dGVjb2RlL0NvZGVCbG9jay5oOgotICAgICAgICAqIGRmZy9ERkdKSVRDb2RlLmNwcDoKLSAg
ICAgICAgKEpTQzo6REZHOjpKSVRDb2RlOjpzZXRPcHRpbWl6YXRpb25UaHJlc2hvbGRCYXNlZE9u
Q29tcGlsYXRpb25SZXN1bHQpOgotICAgICAgICAqIGRmZy9ERkdKSVRGaW5hbGl6ZXIuY3BwOgot
ICAgICAgICAoSlNDOjpERkc6OkpJVEZpbmFsaXplcjo6ZmluYWxpemVDb21tb24pOgotICAgICAg
ICAqIGRmZy9ERkdQbGFuLmNwcDoKLSAgICAgICAgKEpTQzo6REZHOjpQbGFuOjpQbGFuKToKLSAg
ICAgICAgKiBkZmcvREZHUGxhbi5oOgotICAgICAgICAqIGRmZy9ERkdUaWVyVXBDaGVja0luamVj
dGlvblBoYXNlLmNwcDoKLSAgICAgICAgKEpTQzo6REZHOjpUaWVyVXBDaGVja0luamVjdGlvblBo
YXNlOjpydW4pOgotCi0yMDE0LTAxLTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
Ci0KLSAgICAgICAgSlNDIGxheW91dCB0ZXN0cyBzaG91bGQgcnVuIHdpdGggdGhlIEZUTAotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MTQ0Ci0KLSAg
ICAgICAgTm90IHlldCByZXZpZXdlZC4KLSAgICAgICAgCi0gICAgICAgIE5vdGUgdGhhdCB0aGlz
IGN1cnJlbnRseSBsZWFkcyB0byB0aGUgZm9sbG93aW5nIGZhaWx1cmVzIHdpdGggLS1mdGwtaml0
LiBJIHdpbGwKLSAgICAgICAgZml4IHRoZW0gaW4gZnV0dXJlIGNvbW1pdHMuCi0gICAgICAgIAot
ICAgICAgICAgICAganNjLWxheW91dC10ZXN0cy55YW1sL2pzL3NjcmlwdC10ZXN0cy9kZmctY2Fs
bC1mdW5jdGlvbi1oaXQtd2F0Y2hwb2ludC5qcy5sYXlvdXQtZnRsCi0gICAgICAgICAgICBqc2Mt
bGF5b3V0LXRlc3RzLnlhbWwvanMvc2NyaXB0LXRlc3RzL2RmZy1jYWxsLWZ1bmN0aW9uLWhpdC13
YXRjaHBvaW50LmpzLmxheW91dC1mdGwtbm8tY2ppdAotICAgICAgICAgICAganNjLWxheW91dC10
ZXN0cy55YW1sL2pzL3NjcmlwdC10ZXN0cy9kZmctY2FsbC1mdW5jdGlvbi1oaXQtd2F0Y2hwb2lu
dC5qcy5sYXlvdXQtZnRsLWVhZ2VyLW5vLWNqaXQKLSAgICAgICAgICAgIGpzYy1sYXlvdXQtdGVz
dHMueWFtbC9qcy9zY3JpcHQtdGVzdHMvZGZnLWNhbGwtbWV0aG9kLWhpdC13YXRjaHBvaW50Lmpz
LmxheW91dC1mdGwKLSAgICAgICAgICAgIGpzYy1sYXlvdXQtdGVzdHMueWFtbC9qcy9zY3JpcHQt
dGVzdHMvZGZnLWNhbGwtbWV0aG9kLWhpdC13YXRjaHBvaW50LmpzLmxheW91dC1mdGwtbm8tY2pp
dAotICAgICAgICAgICAganNjLWxheW91dC10ZXN0cy55YW1sL2pzL3NjcmlwdC10ZXN0cy9kZmct
aW5saW5lLWFyZ3VtZW50cy11c2UtZnJvbS1hbGwtdGhlLXBsYWNlcy5qcy5sYXlvdXQtZnRsLWVh
Z2VyLW5vLWNqaXQKLSAgICAgICAgICAgIGpzYy1sYXlvdXQtdGVzdHMueWFtbC9qcy9zY3JpcHQt
dGVzdHMvZGZnLW1vZC1uZWcydG90aGUzMS1ieS1vbmUtYW5kLXRoZW4tb3ItemVyby13aXRoLWlu
dGVyZXN0aW5nLXJlZy1hbGxvYy5qcy5sYXlvdXQtZnRsLWVhZ2VyLW5vLWNqaXQKLQotICAgICAg
ICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6Ci0gICAgICAgIChKU0M6OkNvZGVCbG9jazo6bnVt
YmVyT2ZERkdDb21waWxlcyk6Ci0gICAgICAgICogZGZnL0RGR1RpZXJVcENoZWNrSW5qZWN0aW9u
UGhhc2UuY3BwOgotICAgICAgICAoSlNDOjpERkc6OlRpZXJVcENoZWNrSW5qZWN0aW9uUGhhc2U6
OnJ1bik6Ci0gICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisgICAgICAgIChKU0M6OkZUTDo6
TG93ZXJERkdUb0xMVk06OmNvbXBpbGVBcml0aENvcyk6CisgICAgICAgICogZnRsL0ZUTE91dHB1
dC5oOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6ZG91YmxlQ29zKToKKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvZnRsLWFyaXRoY29zLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAg
ICAgICogdGVzdHMvc3RyZXNzL2Z0bC1hcml0aHNpbi5qczogUmVtb3ZlZCBUYWJzCisgICAgICAg
IChmb28pOgogCiAyMDE0LTAxLTE2ICBNYXR0aGV3IE1pcm1hbiAgPG1taXJtYW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFyaXRoU2luIGluIEZUTAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MTI5CiAKLSAgICAgICAgUmV2aWV3ZWQgYnkgRmlsaXAg
UGl6bG8uCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCiAgICAgICAgICog
ZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CiAgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3Bw
CShyZXZpc2lvbiAxNjIzNzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgaW5saW5lIENhcGFi
aWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIAogICAgIGNhc2UgQXJpdGhNYXg6CiAgICAgY2Fz
ZSBBcml0aEFiczoKICAgICBjYXNlIEFyaXRoU2luOgorICAgIGNhc2UgQXJpdGhDb3M6CiAgICAg
Y2FzZSBBcml0aE5lZ2F0ZToKICAgICBjYXNlIFVJbnQzMlRvTnVtYmVyOgogICAgIGNhc2UgSW50
MzJUb0RvdWJsZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2lj
UmVwb3NpdG9yeS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
SW50cmluc2ljUmVwb3NpdG9yeS5oCShyZXZpc2lvbiAxNjIzNzEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAkod29ya2luZyBjb3B5KQpAQCAt
NDEsNiArNDEsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAgICAgbWFjcm8o
YWRkV2l0aE92ZXJmbG93NjQsICJsbHZtLnNhZGQud2l0aC5vdmVyZmxvdy5pNjQiLCBmdW5jdGlv
blR5cGUoc3RydWN0VHlwZShtX2NvbnRleHQsIGludDY0LCBib29sZWFuKSwgaW50NjQsIGludDY0
KSkgXAogICAgIG1hY3JvKGRvdWJsZUFicywgImxsdm0uZmFicy5mNjQiLCBmdW5jdGlvblR5cGUo
ZG91YmxlVHlwZSwgZG91YmxlVHlwZSkpIFwKICAgICBtYWNybyhkb3VibGVTaW4sICJsbHZtLnNp
bi5mNjQiLCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91YmxlVHlwZSkpIFwKKyAgICBtYWNy
byhkb3VibGVDb3MsICJsbHZtLmNvcy5mNjQiLCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91
YmxlVHlwZSkpIFwKICAgICBtYWNybyhmcmFtZUFkZHJlc3MsICJsbHZtLmZyYW1lYWRkcmVzcyIs
IGZ1bmN0aW9uVHlwZShwb2ludGVyVHlwZShpbnQ4KSwgaW50MzIpKSBcCiAgICAgbWFjcm8obXVs
V2l0aE92ZXJmbG93MzIsICJsbHZtLnNtdWwud2l0aC5vdmVyZmxvdy5pMzIiLCBmdW5jdGlvblR5
cGUoc3RydWN0VHlwZShtX2NvbnRleHQsIGludDMyLCBib29sZWFuKSwgaW50MzIsIGludDMyKSkg
XAogICAgIG1hY3JvKG11bFdpdGhPdmVyZmxvdzY0LCAibGx2bS5zbXVsLndpdGgub3ZlcmZsb3cu
aTY0IiwgZnVuY3Rpb25UeXBlKHN0cnVjdFR5cGUobV9jb250ZXh0LCBpbnQ2NCwgYm9vbGVhbiks
IGludDY0LCBpbnQ2NCkpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0xMVk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0xMVk0uY3BwCShyZXZpc2lvbiAxNjIzNzEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI3
LDYgKzMyNyw5IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQXJpdGhTaW46CiAgICAgICAgICAg
ICBjb21waWxlQXJpdGhTaW4oKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFy
aXRoQ29zOgorICAgICAgICAgICAgY29tcGlsZUFyaXRoQ29zKCk7CisgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBBcml0aE5lZ2F0ZToKICAgICAgICAgICAgIGNvbXBpbGVBcml0aE5l
Z2F0ZSgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMjA3LDYgKzEyMTAsMjEgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQorCisgICAgdm9pZCBjb21w
aWxlQXJpdGhDb3MoKQorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX25vZGUtPmNoaWxkMSgpLnVz
ZUtpbmQoKSkgeworICAgICAgICAKKyAgICAgICAgY2FzZSBOdW1iZXJVc2U6IHsKKyAgICAgICAg
ICAgIHNldERvdWJsZShtX291dC5kb3VibGVDb3MobG93RG91YmxlKG1fbm9kZS0+Y2hpbGQxKCkp
KSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CiAgICAgCiAgICAgdm9pZCBjb21waWxl
QXJpdGhOZWdhdGUoKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
T3V0cHV0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRw
dXQuaAkocmV2aXNpb24gMTYyMzcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
dXRwdXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTg5LDYgKzE4OSwxMiBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBjYWxsKGRvdWJsZVNpbkludHJpbnNpYygpLCB2YWx1ZSk7CiAgICAgfQogCisK
KyAgICBMVmFsdWUgZG91YmxlQ29zKExWYWx1ZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVy
biBjYWxsKGRvdWJsZUNvc0ludHJpbnNpYygpLCB2YWx1ZSk7CisgICAgfQorCiAgICAgc3RhdGlj
IGJvb2wgaGFzU2Vuc2libGVEb3VibGVUb0ludCgpIHsgcmV0dXJuIGlzWDg2KCk7IH0KICAgICBM
VmFsdWUgc2Vuc2libGVEb3VibGVUb0ludChMVmFsdWUgdmFsdWUpCiAgICAgewpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtYXJpdGhjb3MuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtYXJpdGhjb3MuanMJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1h
cml0aGNvcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACitmdW5jdGlvbiBmb28o
eCkgeworICAgIHJldHVybiBNYXRoLmNvcyh4KTsKK30KKworbm9JbmxpbmUoZm9vKTsKKwordmFy
IGogPSAwOworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkKKyAgICBqID0gZm9vKGkp
OworCitpZiAoLTAuNTA5ODc1MzcyNDE3OTAwOSAhPSBqKXsKKyAgICB0aHJvdyAiRXJyb3IiCit9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221687</attachid>
            <date>2014-01-20 13:31:26 -0800</date>
            <delta_ts>2014-01-20 13:41:09 -0800</delta_ts>
            <desc>ArithCos patch without the deleted change log </desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>4382</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYyMzcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE0LTAxLTIwICBNYXR0aGV3IE1pcm1hbiAgPG1taXJtYW5AYXBwbGUuY29tPgorCisgICAg
ICAgIEFyaXRoQ29zIGluIEZUTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI3MTM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRM
OjpjYW5Db21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oOgor
ICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRG
R1RvTExWTTo6Y29tcGlsZUFyaXRoQ29zKToKKyAgICAgICAgKiBmdGwvRlRMT3V0cHV0Lmg6Cisg
ICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpkb3VibGVDb3MpOgorICAgICAgICAqIHRlc3RzL3N0
cmVzcy9mdGwtYXJpdGhjb3MuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKwogMjAxNC0wMS0x
OSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZUTCBzaG91bGQg
YXNjcmliZSByYW5nZSBtZXRhLWRhdGEgd2hlbiBsb2FkaW5nIGFycmF5Lmxlbmd0aApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAkocmV2aXNp
b24gMTYyMzcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw3IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2
ZWwgY2FuQ29tcGlsZShOb2RlKiAKICAgICBjYXNlIEFyaXRoTWF4OgogICAgIGNhc2UgQXJpdGhB
YnM6CiAgICAgY2FzZSBBcml0aFNpbjoKKyAgICBjYXNlIEFyaXRoQ29zOgogICAgIGNhc2UgQXJp
dGhOZWdhdGU6CiAgICAgY2FzZSBVSW50MzJUb051bWJlcjoKICAgICBjYXNlIEludDMyVG9Eb3Vi
bGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRv
cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNp
Y1JlcG9zaXRvcnkuaAkocmV2aXNpb24gMTYyMzcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQx
LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKGFkZFdpdGhP
dmVyZmxvdzY0LCAibGx2bS5zYWRkLndpdGgub3ZlcmZsb3cuaTY0IiwgZnVuY3Rpb25UeXBlKHN0
cnVjdFR5cGUobV9jb250ZXh0LCBpbnQ2NCwgYm9vbGVhbiksIGludDY0LCBpbnQ2NCkpIFwKICAg
ICBtYWNybyhkb3VibGVBYnMsICJsbHZtLmZhYnMuZjY0IiwgZnVuY3Rpb25UeXBlKGRvdWJsZVR5
cGUsIGRvdWJsZVR5cGUpKSBcCiAgICAgbWFjcm8oZG91YmxlU2luLCAibGx2bS5zaW4uZjY0Iiwg
ZnVuY3Rpb25UeXBlKGRvdWJsZVR5cGUsIGRvdWJsZVR5cGUpKSBcCisgICAgbWFjcm8oZG91Ymxl
Q29zLCAibGx2bS5jb3MuZjY0IiwgZnVuY3Rpb25UeXBlKGRvdWJsZVR5cGUsIGRvdWJsZVR5cGUp
KSBcCiAgICAgbWFjcm8oZnJhbWVBZGRyZXNzLCAibGx2bS5mcmFtZWFkZHJlc3MiLCBmdW5jdGlv
blR5cGUocG9pbnRlclR5cGUoaW50OCksIGludDMyKSkgXAogICAgIG1hY3JvKG11bFdpdGhPdmVy
ZmxvdzMyLCAibGx2bS5zbXVsLndpdGgub3ZlcmZsb3cuaTMyIiwgZnVuY3Rpb25UeXBlKHN0cnVj
dFR5cGUobV9jb250ZXh0LCBpbnQzMiwgYm9vbGVhbiksIGludDMyLCBpbnQzMikpIFwKICAgICBt
YWNybyhtdWxXaXRoT3ZlcmZsb3c2NCwgImxsdm0uc211bC53aXRoLm92ZXJmbG93Lmk2NCIsIGZ1
bmN0aW9uVHlwZShzdHJ1Y3RUeXBlKG1fY29udGV4dCwgaW50NjQsIGJvb2xlYW4pLCBpbnQ2NCwg
aW50NjQpKSBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9M
TFZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcAkocmV2aXNpb24gMTYyMzcxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNyw2ICszMjcs
OSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFyaXRoU2luOgogICAgICAgICAgICAgY29tcGls
ZUFyaXRoU2luKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcml0aENvczoK
KyAgICAgICAgICAgIGNvbXBpbGVBcml0aENvcygpOworICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgQXJpdGhOZWdhdGU6CiAgICAgICAgICAgICBjb21waWxlQXJpdGhOZWdhdGUoKTsK
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTIwNyw2ICsxMjEwLDIxIEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KKworICAgIHZvaWQgY29tcGlsZUFyaXRo
Q29zKCkKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkp
IHsKKyAgICAgICAgCisgICAgICAgIGNhc2UgTnVtYmVyVXNlOiB7CisgICAgICAgICAgICBzZXRE
b3VibGUobV9vdXQuZG91YmxlQ29zKGxvd0RvdWJsZShtX25vZGUtPmNoaWxkMSgpKSkpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfQogICAgIAogICAgIHZvaWQgY29tcGlsZUFyaXRoTmVn
YXRlKCkKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgJKHJl
dmlzaW9uIDE2MjM3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE4OSw2ICsxODksMTIgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gY2FsbChkb3VibGVTaW5JbnRyaW5zaWMoKSwgdmFsdWUpOwogICAgIH0KIAorCisgICAgTFZh
bHVlIGRvdWJsZUNvcyhMVmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gY2FsbChk
b3VibGVDb3NJbnRyaW5zaWMoKSwgdmFsdWUpOworICAgIH0KKwogICAgIHN0YXRpYyBib29sIGhh
c1NlbnNpYmxlRG91YmxlVG9JbnQoKSB7IHJldHVybiBpc1g4NigpOyB9CiAgICAgTFZhbHVlIHNl
bnNpYmxlRG91YmxlVG9JbnQoTFZhbHVlIHZhbHVlKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRoY29zLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRoY29zLmpzCShyZXZpc2lv
biAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtYXJpdGhjb3Mu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorZnVuY3Rpb24gZm9vKHgpIHsKKyAg
ICByZXR1cm4gTWF0aC5jb3MoeCk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK3ZhciBqID0gMDsK
K2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpCisgICAgaiA9IGZvbyhpKTsKKworaWYg
KC0wLjUwOTg3NTM3MjQxNzkwMDkgIT0gail7CisgICAgdGhyb3cgIkVycm9yIgorfQo=
</data>
<flag name="review"
          id="245636"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>