Advertisement
Guest User

Untitled

a guest
May 27th, 2017
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.43 KB | None | 0 0
  1. package ispam.mark_06;
  2.  
  3. import android.app.Activity;
  4. import android.graphics.Color;
  5. import android.graphics.drawable.ColorDrawable;
  6. import android.os.Build;
  7. import android.os.Bundle;
  8. import android.support.annotation.ColorInt;
  9. import android.support.v4.content.ContextCompat;
  10. import android.support.v7.app.ActionBar;
  11. import android.support.v7.app.AppCompatActivity;
  12. import android.text.Html;
  13. import android.text.TextUtils;
  14. import android.util.Log;
  15. import android.view.View;
  16. import android.widget.Button;
  17. import android.widget.EditText;
  18. import android.widget.TextView;
  19.  
  20. import java.util.regex.Matcher;
  21. import java.util.regex.Pattern;
  22.  
  23. import static android.R.attr.editorExtras;
  24. import static android.R.attr.value;
  25.  
  26.  
  27. public class Calculator extends AppCompatActivity {
  28. Button button0, button1, button2, button3, button4, button5, button6, button7, button8, button9, buttonAdd, buttonSub, btnAns, buttonDivision, buttonMul,
  29. buttonPow, backs, button10, buttonC, buttonEqual, buttonSin, buttonCos, buttonTg, buttonLog;
  30. EditText edt1 , edt2;
  31. TextView tv, tvz;
  32. float mValueOne, mValueTwo;
  33. String ans = "";
  34. boolean mAddition, mSubtract, mMultiplication, mPower, mDivision;
  35. boolean f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , f9 , f0 , fans = true;
  36. boolean xAdd , xSub , xMult , xPow , xDiv;
  37. enum Operator {PLUS, MINUS, DIV, MULTI};
  38. ;
  39.  
  40.  
  41. @Override
  42. protected void onCreate(Bundle savedInstanceState) {
  43. super.onCreate(savedInstanceState);
  44. setContentView(R.layout.activity_calculator);
  45. getSupportActionBar().hide();
  46.  
  47.  
  48. //getSupportActionBar().setTitle(Html.fromHtml("<font color='#000000'>Calculator</font>"));
  49.  
  50.  
  51. button0 = (Button) findViewById(R.id.button0);
  52. button1 = (Button) findViewById(R.id.button1);
  53. button2 = (Button) findViewById(R.id.button2);
  54. button3 = (Button) findViewById(R.id.button3);
  55. button4 = (Button) findViewById(R.id.button4);
  56. button5 = (Button) findViewById(R.id.button5);
  57. button6 = (Button) findViewById(R.id.button6);
  58. button7 = (Button) findViewById(R.id.button7);
  59. button8 = (Button) findViewById(R.id.button8);
  60. button9 = (Button) findViewById(R.id.button9);
  61. button10 = (Button) findViewById(R.id.button10);
  62. buttonAdd = (Button) findViewById(R.id.buttonadd);
  63. buttonSub = (Button) findViewById(R.id.buttonsub);
  64. buttonMul = (Button) findViewById(R.id.buttonmul);
  65.  
  66. buttonPow = (Button) findViewById(R.id.buttonPower);
  67. buttonLog = (Button) findViewById(R.id.btnLog);
  68.  
  69. buttonSin = (Button) findViewById(R.id.btnsin);
  70. buttonCos = (Button) findViewById(R.id.btncos);
  71. buttonTg = (Button) findViewById(R.id.btntg);
  72.  
  73. backs = (Button) findViewById(R.id.bs);
  74.  
  75. btnAns = (Button) findViewById(R.id.btnans);
  76.  
  77. buttonDivision = (Button) findViewById(R.id.buttondiv);
  78. buttonC = (Button) findViewById(R.id.buttonC);
  79. buttonEqual = (Button) findViewById(R.id.buttoneql);
  80. edt1 = (EditText) findViewById(R.id.edt1);
  81. edt2 = (EditText) findViewById(R.id.edt2);
  82. tv = (TextView) findViewById(R.id.textView);
  83. tvz = (TextView) findViewById(R.id.textViewz);
  84.  
  85. tv.setText("");
  86. tvz.setText("");
  87. edt1.setText("");
  88. fans = false;
  89. btnAns.setOnClickListener(new View.OnClickListener() {
  90. @Override
  91. public void onClick(View v) {
  92. if(fans = true){
  93. edt1.setText(tv.getText().toString() + ans);
  94. tv.setText(tv.getText().toString() + ans);
  95. fans = false;}
  96. else
  97. return;
  98. }
  99. });
  100.  
  101.  
  102. button1.setOnClickListener(new View.OnClickListener() {
  103. @Override
  104. public void onClick(View v) {
  105. edt1.setText(edt1.getText() + "1");
  106. tv.setText(tv.getText() + "1");
  107. float z = Float.parseFloat(edt1.getText().toString());
  108.  
  109. if (mAddition) {
  110. f2 = false;
  111. String s = tv.getText().toString();
  112. String sum = "";
  113. String x = "";
  114. int i = 0;
  115. while (i < s.length()) {
  116. if (s.charAt(i) != '+') {
  117. x = x + s.charAt(i) + "";
  118. } else {
  119. float m = Float.parseFloat(x);
  120. z = z + m;
  121. x = "";
  122.  
  123.  
  124. }
  125. i++;
  126. }
  127. tvz.setText(z + "");
  128. xAdd = false;
  129. }
  130. }
  131. });
  132.  
  133. button2.setOnClickListener(new View.OnClickListener() {
  134. @Override
  135. public void onClick(View v) {
  136. edt1.setText(edt1.getText() + "2");
  137. tv.setText(tv.getText() + "2");
  138. float z = Float.parseFloat(edt1.getText().toString());
  139.  
  140. if (mAddition) {
  141. f1 = false;
  142. String s = tv.getText().toString();
  143. String sum = "";
  144. String x = "";
  145. int i = 0;
  146. while (i < s.length()) {
  147. if (s.charAt(i) != '+') {
  148. x = x + s.charAt(i) + "";
  149. } else {
  150. float m = Float.parseFloat(x);
  151. z = z + m;
  152. x = "";
  153.  
  154.  
  155. }
  156. i++;
  157.  
  158.  
  159. }
  160. tvz.setText(z + "");
  161. xAdd = false;
  162. }
  163.  
  164. }
  165. });
  166.  
  167. button3.setOnClickListener(new View.OnClickListener() {
  168. @Override
  169. public void onClick(View v) {
  170. edt1.setText(edt1.getText() + "3");
  171. tv.setText(tv.getText() + "3");
  172. float z = Float.parseFloat(edt1.getText().toString());
  173. int i = 0;
  174. if (mAddition) {
  175. f3 = false;
  176. String s = tv.getText().toString();
  177. String x = "";
  178. while (i < s.length()) {
  179. if (s.charAt(i) != '+') {
  180. x = x + s.charAt(i) + "";
  181. } else {
  182. float m = Float.parseFloat(x);
  183. z = z + m;
  184. x = "";
  185.  
  186.  
  187. }
  188. i++;
  189.  
  190.  
  191. }
  192. tvz.setText(z + "");
  193. xAdd = false;
  194.  
  195. }
  196. if (mSubtract) {
  197. f3 = false;
  198. String s = tv.getText().toString();
  199. String x = "";
  200. while (i < s.length()) {
  201. if (s.charAt(i) != '-') {
  202. x = x + s.charAt(i) + "";
  203. } else {
  204. if (isDouble(x)){
  205. float m = Float.parseFloat(x);
  206. z = z - m;
  207. x = "";
  208. }
  209.  
  210.  
  211. }
  212. i++;
  213.  
  214.  
  215. }
  216. tvz.setText(z + "");
  217. xSub = false;
  218.  
  219. }
  220. }
  221.  
  222.  
  223. });
  224.  
  225. button4.setOnClickListener(new View.OnClickListener() {
  226. @Override
  227. public void onClick(View v) {
  228. edt1.setText(edt1.getText() + "4");
  229. tv.setText(tv.getText() + "4");
  230. float z = Float.parseFloat(edt1.getText().toString());
  231.  
  232. if (mAddition) {
  233. f4 = false;
  234. String s = tv.getText().toString();
  235. String x = "";
  236. int i = 0;
  237. while (i < s.length()) {
  238. if (s.charAt(i) != '+') {
  239. x = x + s.charAt(i) + "";
  240. } else {
  241. float m = Float.parseFloat(x);
  242. z = z + m;
  243. x = "";
  244.  
  245.  
  246. }
  247. i++;
  248.  
  249.  
  250. }
  251. tvz.setText(z + "");
  252. xAdd = false;
  253.  
  254. }
  255. if (mSubtract) {
  256. f4 = false;
  257. String s = tv.getText().toString();
  258. String x = "";
  259. int i = 0;
  260. while (i < s.length()) {
  261. if (s.charAt(i) != '-') {
  262. x = x + s.charAt(i) + "";
  263. } else {
  264. float m = Float.parseFloat(x);
  265. z = z - m;
  266. x = "";
  267.  
  268.  
  269. }
  270. i++;
  271.  
  272.  
  273. }
  274. tvz.setText(z + "");
  275. xSub = false;
  276.  
  277. }
  278. }
  279. });
  280.  
  281. button5.setOnClickListener(new View.OnClickListener() {
  282. @Override
  283. public void onClick(View v) {
  284. edt1.setText(edt1.getText() + "5");
  285. tv.setText(tv.getText() + "5");
  286. float z = Float.parseFloat(edt1.getText().toString());
  287.  
  288. if (mAddition) {
  289. f5 = false;
  290. String s = tv.getText().toString();
  291. String sum = "";
  292. String x = "";
  293. int i = 0;
  294. while (i < s.length()) {
  295. if (s.charAt(i) != '+') {
  296. x = x + s.charAt(i) + "";
  297. } else {
  298. float m = Float.parseFloat(x);
  299. z = z + m;
  300. x = "";
  301.  
  302.  
  303. }
  304. i++;
  305.  
  306.  
  307. }
  308. tvz.setText(z + "");
  309. xAdd = false;
  310.  
  311. }
  312. if (mSubtract) {
  313. f5 = false;
  314. String s = tv.getText().toString();
  315. String sum = "";
  316. String x = "";
  317. int i = 0;
  318. while (i < s.length()) {
  319. if (s.charAt(i) != '-') {
  320. x = x + s.charAt(i) + "";
  321. } else {
  322. float m = Float.parseFloat(x);
  323. z = z - m;
  324. x = "";
  325.  
  326.  
  327. }
  328. i++;
  329.  
  330.  
  331. }
  332. tvz.setText(z + "");
  333. xSub = false;
  334.  
  335. }
  336. }
  337. });
  338.  
  339. button6.setOnClickListener(new View.OnClickListener() {
  340. @Override
  341. public void onClick(View v) {
  342. edt1.setText(edt1.getText() + "6");
  343. tv.setText(tv.getText() + "6");
  344. float z = Float.parseFloat(edt1.getText().toString());
  345.  
  346. if (mAddition) {
  347. f6 = false;
  348. String s = tv.getText().toString();
  349. String sum = "";
  350. String x = "";
  351. int i = 0;
  352. while (i < s.length()) {
  353. if (s.charAt(i) != '+') {
  354. x = x + s.charAt(i) + "";
  355. } else {
  356. float m = Float.parseFloat(x);
  357. z = z + m;
  358. x = "";
  359.  
  360.  
  361. }
  362. i++;
  363.  
  364.  
  365. }
  366. tvz.setText(z + "");
  367. xAdd = false;
  368.  
  369. }
  370. }
  371. });
  372.  
  373. button7.setOnClickListener(new View.OnClickListener() {
  374. @Override
  375. public void onClick(View v) {
  376. edt1.setText(edt1.getText() + "7");
  377. tv.setText(tv.getText() + "7");
  378. float z = Float.parseFloat(edt1.getText().toString());
  379.  
  380. if (mAddition) {
  381. f7 = false;
  382. String s = tv.getText().toString();
  383. String sum = "";
  384. String x = "";
  385. int i = 0;
  386. while (i < s.length()) {
  387. if (s.charAt(i) != '+') {
  388. x = x + s.charAt(i) + "";
  389. } else {
  390. float m = Float.parseFloat(x);
  391. z = z + m;
  392. x = "";
  393.  
  394.  
  395. }
  396. i++;
  397.  
  398.  
  399. }
  400. tvz.setText(z + "");
  401. xAdd = false;
  402.  
  403. }
  404. }
  405. });
  406.  
  407. button8.setOnClickListener(new View.OnClickListener() {
  408. @Override
  409. public void onClick(View v) {
  410. edt1.setText(edt1.getText() + "8");
  411. tv.setText(tv.getText() + "8");
  412. float z = Float.parseFloat(edt1.getText().toString());
  413.  
  414. if (mAddition) {
  415. f8 = false;
  416. String s = tv.getText().toString();
  417. String sum = "";
  418. String x = "";
  419. int i = 0;
  420. while (i < s.length()) {
  421. if (s.charAt(i) != '+') {
  422. x = x + s.charAt(i) + "";
  423. } else {
  424. float m = Float.parseFloat(x);
  425. z = z + m;
  426. x = "";
  427.  
  428.  
  429. }
  430. i++;
  431.  
  432.  
  433. }
  434. tvz.setText(z + "");
  435. xAdd = false;
  436.  
  437. }
  438. }
  439. });
  440.  
  441. button9.setOnClickListener(new View.OnClickListener() {
  442. @Override
  443. public void onClick(View v) {
  444. edt1.setText(edt1.getText() + "9");
  445. tv.setText(tv.getText() + "9");
  446. float z = Float.parseFloat(edt1.getText().toString());
  447.  
  448. /*if (mAddition) {
  449. f9 = false;
  450. String s = tv.getText().toString();
  451. String sum = "";
  452. String x = "";
  453. int i = 0;
  454. while (i < s.length()) {
  455. if (s.charAt(i) != '+') {
  456. x = x + s.charAt(i) + "";
  457. } else {
  458. float m = Float.parseFloat(x);
  459. z = z + m;
  460. x = "";
  461.  
  462.  
  463. }
  464. i++;
  465.  
  466.  
  467. }
  468. tvz.setText(z + "");
  469. xAdd = false;
  470.  
  471. }*/
  472. }
  473. });
  474.  
  475. button0.setOnClickListener(new View.OnClickListener() {
  476. @Override
  477. public void onClick(View v) {
  478.  
  479. edt1.setText(edt1.getText() + "0");
  480.  
  481. tv.setText(tv.getText() + "0");
  482. float z = Float.parseFloat(edt1.getText().toString());
  483.  
  484. if (mAddition) {
  485. f0 = false;
  486. String s = tv.getText().toString();
  487. String sum = "";
  488. String x = "";
  489. int i = 0;
  490. while (i < s.length()) {
  491. if (s.charAt(i) != '+') {
  492. x = x + s.charAt(i) + "";
  493. } else {
  494. float m = Float.parseFloat(x);
  495. z = z + m;
  496. x = "";
  497.  
  498.  
  499. }
  500. i++;
  501.  
  502.  
  503. }
  504. tvz.setText(z + "");
  505. xAdd = false;
  506.  
  507. }
  508. }
  509. });
  510.  
  511.  
  512. backs.setOnClickListener(new View.OnClickListener() {
  513. @Override
  514. public void onClick(View v) {
  515. String s1 = edt1.getText().toString();
  516. String s2 = tv.getText().toString();
  517. if (s1.length() >= 1) {
  518. s1 = s1.substring(0, s1.length() - 1);
  519. edt1.setText(s1);
  520. }
  521. if (s2.length() >= 1) {
  522. if (s2.charAt(s2.length() - 1) == '-' || s2.charAt(s2.length() - 1) == '+' || s2.charAt(s2.length() - 1) == '^' || s2.charAt(s2.length() - 1) == '/' || s2.charAt(s2.length() - 1) == '*') {
  523. mAddition = false;
  524. mPower = false;
  525. mMultiplication = false;
  526. mDivision = false;
  527. mSubtract = false;
  528. edt1.setText(s2);
  529. }
  530. s2 = s2.substring(0, s2.length() - 1);
  531. tv.setText(s2);
  532. if (isDouble(s2)) {
  533. edt1.setText(s2);
  534. }
  535. }
  536.  
  537. }
  538. });
  539.  
  540.  
  541. buttonAdd.setOnClickListener(new View.OnClickListener() {
  542. @Override
  543. public void onClick(View v) {
  544.  
  545. if (TextUtils.isEmpty(edt1.getText().toString())) {
  546. return;
  547. }
  548.  
  549.  
  550. String str = edt1.getText().toString();
  551.  
  552.  
  553. if (isDouble(str)) {
  554.  
  555. if (edt1 == null) {
  556. edt1.setText("");
  557. } else {
  558. mValueOne = Float.parseFloat(edt1.getText() + "");
  559. tv.setText(tv.getText() + "+");
  560. mAddition = true;
  561. edt1.setText(null);
  562.  
  563. }
  564. f0 = false;
  565. f1 = false;
  566. f2 = false;
  567. f3 = false;
  568. f4 = false;
  569. f5 = false;
  570. f6 = false;
  571. f7 = false;
  572. f8 = false;
  573. f9 = false;
  574. fans = false;
  575. } else return;
  576. }
  577. });
  578.  
  579. buttonSub.setOnClickListener(new View.OnClickListener() {
  580. @Override
  581. public void onClick(View v) {
  582.  
  583. if (TextUtils.isEmpty(edt1.getText().toString())) {
  584. return;
  585. }
  586. String str = edt1.getText().toString();
  587.  
  588.  
  589. if (isDouble(str)) {
  590.  
  591. mValueOne = Float.parseFloat(edt1.getText() + "");
  592. mSubtract = true;
  593.  
  594. tv.setText(tv.getText() + "-");
  595.  
  596. edt1.setText(null);
  597. } else
  598. return;
  599. }
  600. });
  601.  
  602. buttonPow.setOnClickListener(new View.OnClickListener() {
  603. @Override
  604. public void onClick(View v) {
  605.  
  606. if (TextUtils.isEmpty(edt1.getText().toString())) {
  607. return;
  608. }
  609. String str = edt1.getText().toString();
  610.  
  611.  
  612. if (isDouble(str)) {
  613.  
  614. mValueOne = Float.parseFloat(edt1.getText() + "");
  615. mPower = true;
  616.  
  617. tv.setText(tv.getText() + "^");
  618.  
  619. edt1.setText(null);
  620. } else
  621. return;
  622. }
  623. });
  624.  
  625.  
  626. buttonLog.setOnClickListener(new View.OnClickListener() {
  627. @Override
  628. public void onClick(View v) {
  629.  
  630. if (TextUtils.isEmpty(edt1.getText().toString())) {
  631. return;
  632. }
  633. String str = tv.getText().toString();
  634.  
  635.  
  636. if (isDouble(str)) {
  637.  
  638. mValueOne = Float.parseFloat(edt1.getText() + "");
  639.  
  640. tv.setText(tv.getText().toString());
  641. double r = Math.log10(mValueOne);
  642. edt1.setText(r + "");
  643. tvz.setText(r + "");
  644.  
  645. } else
  646. return;
  647. }
  648. });
  649.  
  650.  
  651. buttonMul.setOnClickListener(new View.OnClickListener() {
  652. @Override
  653. public void onClick(View v) {
  654.  
  655. if (TextUtils.isEmpty(edt1.getText().toString())) {
  656. return;
  657. }
  658.  
  659. String str = edt1.getText().toString();
  660.  
  661.  
  662. if (isDouble(str)) {
  663.  
  664. mValueOne = Float.parseFloat(edt1.getText() + "");
  665. mMultiplication = true;
  666. edt1.setText(null);
  667. tv.setText(tv.getText() + "*");
  668. } else
  669. return;
  670. }
  671. });
  672.  
  673. buttonSin.setOnClickListener(new View.OnClickListener() {
  674. @Override
  675. public void onClick(View v) {
  676. if (TextUtils.isEmpty(edt1.getText().toString())) {
  677. return;
  678. }
  679.  
  680. String str = edt1.getText().toString();
  681.  
  682.  
  683. if (isDouble(str)) {
  684. mValueOne = Float.parseFloat(edt1.getText() + "");
  685. double r = Math.sin(Math.toRadians(mValueOne));
  686. tvz.setText(r + "");
  687. ans = r + "";
  688. edt1.setText("");
  689. tv.setText("");
  690. }
  691. }
  692. });
  693.  
  694. buttonCos.setOnClickListener(new View.OnClickListener() {
  695. @Override
  696. public void onClick(View v) {
  697. if (TextUtils.isEmpty(edt1.getText().toString())) {
  698. return;
  699. }
  700.  
  701. String str = tv.getText().toString();
  702.  
  703.  
  704. if (isDouble(str)) {
  705. mValueOne = Float.parseFloat(edt1.getText() + "");
  706. double r = Math.cos(Math.toRadians(mValueOne));
  707. tvz.setText(r + "");
  708. ans = r + "";
  709. edt1.setText("");
  710. tv.setText("");
  711. }
  712. }
  713. });
  714.  
  715. buttonTg.setOnClickListener(new View.OnClickListener() {
  716. @Override
  717. public void onClick(View v) {
  718. if (TextUtils.isEmpty(edt1.getText().toString())) {
  719. return;
  720. }
  721.  
  722. String str = tv.getText().toString();
  723.  
  724.  
  725. if (isDouble(str)) {
  726. mValueOne = Float.parseFloat(edt1.getText() + "");
  727. if (mValueOne == 90) {
  728. tvz.setText("DOSN'T EXIST");
  729. return;
  730. } else {
  731. double r = Math.tan(Math.toRadians(mValueOne));
  732. tvz.setText(r + "");
  733. ans = r + "";
  734. edt1.setText("");
  735. tv.setText("");
  736. }
  737. }
  738. }
  739. });
  740.  
  741.  
  742. buttonDivision.setOnClickListener(new View.OnClickListener() {
  743. @Override
  744. public void onClick(View v) {
  745.  
  746. if (TextUtils.isEmpty(edt1.getText().toString())) {
  747. return;
  748. }
  749.  
  750. String str = tv.getText().toString();
  751.  
  752.  
  753. if (isDouble(str)) {
  754.  
  755.  
  756. mValueOne = Float.parseFloat(edt1.getText() + "");
  757. mDivision = true;
  758. edt1.setText(null);
  759. tv.setText(tv.getText() + "/");
  760. } else
  761. return;
  762. }
  763. });
  764.  
  765. buttonEqual.setOnClickListener(new View.OnClickListener() {
  766. @Override
  767. public void onClick(View v) {
  768.  
  769. if (TextUtils.isEmpty(edt1.getText().toString())) {
  770. return;
  771. }
  772.  
  773.  
  774. mValueTwo = Float.parseFloat(edt1.getText() + "");
  775.  
  776. if (mAddition == true && isDouble(mValueOne + "")) {
  777. ans = mValueOne + mValueTwo + "";
  778. tvz.setText(mValueOne + mValueTwo + "");
  779. mAddition = false;
  780. } else if (mSubtract == true) {
  781. ans = mValueOne - mValueTwo + "";
  782. tvz.setText(mValueOne - mValueTwo + "");
  783. mSubtract = false;
  784. }
  785.  
  786. if (mMultiplication == true) {
  787. ans = mValueOne * mValueTwo + "";
  788. tvz.setText(mValueOne * mValueTwo + "");
  789. mMultiplication = false;
  790. }
  791.  
  792. if (mDivision == true) {
  793. ans = mValueOne / mValueTwo + "";
  794. tvz.setText(mValueOne / mValueTwo + "");
  795. mDivision = false;
  796.  
  797.  
  798. }
  799.  
  800. if (mPower == true) {
  801. ans = Math.pow(mValueOne, mValueTwo) + "";
  802. tvz.setText(Math.pow(mValueOne, mValueTwo) + "");
  803. mPower = false;
  804. }
  805. fans = true;
  806. edt1.setText("");
  807. tv.setText("");
  808.  
  809. //getActionBar().setTitle(tvz.getText().toString());
  810. }
  811. });
  812.  
  813. buttonC.setOnClickListener(new View.OnClickListener() {
  814. @Override
  815. public void onClick(View v) {
  816. edt1.setText("");
  817. tv.setText("");
  818. tvz.setText("");
  819. }
  820. });
  821.  
  822. button10.setOnClickListener(new View.OnClickListener() {
  823. @Override
  824. public void onClick(View v) {
  825. edt1.setText(edt1.getText() + ".");
  826. tv.setText(tv.getText() + ".");
  827. }
  828. });
  829. }
  830.  
  831. public boolean isDouble(String str) {
  832. try {
  833. Double.parseDouble(str);
  834. return true;
  835. } catch (NumberFormatException e) {
  836. return false;
  837. }
  838. }
  839.  
  840.  
  841. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement