Problem 8.58 (4 points)

Given \(Y\) has a binomial distribution with parameter \(p\). Find the sample size necessary to estimate \(p\) to within \(0.05\) with probability \(0.95\)
  1. if \(p\) is thought to be approximately \(0.9\). The standard error for \(\hat{p} = Y/n\) is \[ \sigma_{\hat{p}} = \sqrt{p\cdot (1-p)/n} \doteq \sqrt{0.9 \cdot 0.1 / n} = 0.3 / \sqrt{n}. \] We want \(P(\,|\hat{p} - p| < 0.05\,) \doteq 0.95\), and since \(\hat{p}\) is approximately normal for all sufficiently large \(n\), we estimate \[\begin{align*} \frac{0.05}{\sigma_{\hat{p}}} &\doteq z_{0.025} \doteq 1.96 \\ \implies n &\ge \left[ \frac{0.3 \cdot 1.96}{0.05}\right]^2 \doteq 138.3. \end{align*}\] We may take \(n \ge 139\).
  2. if no information about \(p\) is known. A little algebra shows that \(p\cdot (1-p) = 1/4 - (p - 1/2)^2\). From this we see that the maximum value of \(p\cdot (1-p)\) is \(1/4\), and that the maximum value occurs when \(p=1/2\). Thus, the standard error \[ \sigma_{\hat{p}} = \sqrt{p\cdot(1-p)/n} \le \sqrt{1/(4n)} = 0.5/\sqrt{n}. \] Therefore, a conservative estimate for \(\sigma_{\hat{p}}\) is \(0.5/\sqrt{n}\). Substituting this estimate into part (a) we compute \[ n \ge \left[ \frac{0.5 \cdot 1.96}{0.05} \right]^2 \doteq 384.16. \] We may take \(n\ge 385\). Notice that this estimate is about \(2.8\) times larger than the sample size in part (a).

Problem 8.60 (4 points)

  1. Assuming \(n_1 = n_2 = 1500\), and \(\hat{p}_1 \doteq \hat{p}_2 \doteq 0.75\), we have \[\begin{align*} \sigma^2_{\hat{p}_1} &\doteq \sigma^2_{\hat{p}_2} \doteq 0.75 \cdot 0.25 / 1500 \doteq 0.000125 \\ \implies \sigma_{\hat{p}_1 - \hat{p}_2} &\doteq \sqrt{\sigma^2_{\hat{p}_1} + \sigma^2_{\hat{p}_2}} \doteq \sqrt{0.00025} \doteq 0.0158. \end{align*}\] Thus, a two standard error bound on the error of estimation is approximately \(3\%\).
  2. We want \(P(\,| (\hat{p}_1 - \hat{p}_2) - (p_1 - p_2) | < 0.02\,) \doteq 0.9\). Using the normal approximation, this means we want to find an \(n\) so that \[ \frac{0.02}{\sigma_{\hat{p}_1 - \hat{p}_2}} \doteq z_{0.05} \doteq 1.645. \] Since \(\sigma^2_{\hat{p}_1 - \hat{p}_2} \doteq 2\cdot 0.75 \cdot 0.25 / n\), we want \[ n \ge \frac{2\cdot 0.75 \cdot 0.25\cdot(1.645)^2}{(0.02)^2} \doteq 2536.9. \] We may take \(n_1 = n_2 = 2537\).

Problem 8.62 (2 points)

Given \(\sigma \doteq 0.5\), then \(\sigma_{\overline{Y}} \doteq 0.5/\sqrt{n}\). We want \(P(\,|\overline{Y} - \mu| < 0.1\,) \doteq 0.95\). Using the normal approximation, this means we want to find an \(n\) so that \[\begin{align*} \frac{0.1}{\sigma_{\overline{Y}}} &\doteq z_{0.025} \doteq 1.96 \\ \implies n &\ge \left(\frac{0.5\cdot 1.96}{0.1}\right)^2 \doteq 96.04. \end{align*}\]

We may take \(n = 97\). Water speciments should be selected randomly and not from the same rainfall, so that all observations will be independent.

Problem 8.64 (2 points)

We are given estimates for \(\sigma_1\) and \(\sigma_2\); \(\sigma_1 \doteq s_1 \doteq 24.3\, \mu g\) and \(\sigma_2 \doteq s_2 \doteq 17.6\, \mu g\). If we assume \(n_1 = n_2 = n\), then an estimate for the standard error is \[ \sigma_{\overline{Y}_1 - \overline{Y}_2} \doteq \frac{\sqrt{(24.3)^2 + (17.6)^2}}{\sqrt{n}} \doteq \frac{30.004}{\sqrt{n}}. \] We want \(P(\,|(\overline{Y}_1 - \overline{Y}_2) - (\mu_1 - \mu_2)| < 5\,)\doteq 0.9\). Using the normal approximation, this means that we want to find an \(n\) so that \[\begin{align*} \frac{5}{\sigma_{\overline{Y}_1 - \overline{Y}_2}} &\doteq z_{0.05} \doteq 1.645 \\ \implies n &\ge \left[ \frac{(30.004)(1.645)}{5}\right]^2 \doteq 97.4. \end{align*}\]

We may take \(n_1 = n_2 = 98\).

Problem 8.70 (6 points)

\(n = 20\) Verbal Math
\(\bar{y}\) \(419\) \(455\)
\(s\) \(57\) \(69\)
  1. \(1-\alpha = 0.9\), \(df = \nu = 19\), \(t_{\alpha/2} = t_{0.05} \doteq 1.729\). For the verbal scores, \(\bar{y} \pm t_{\alpha/2}\cdot s/\sqrt{n} \doteq 419 \pm 1.792\cdot 57/\sqrt{20} \doteq 419 \pm 22.04\). Thus, a \(90\%\) confidence interval for the mean verbal score is \[ (396.96 , 441.04). \]
  2. Yes, the interval in (a) includes the true mean of 422. The interval in part (a) cannot, however, distinguish the true mean from any other point in the interval.
  3. For the math scores, \(\bar{y} \pm t_{\alpha/2}\cdot s/\sqrt{n} \doteq 455 \pm 1.792\cdot 69/\sqrt{20} \doteq 455 \pm 26.68\). Thus, a \(90\%\) confidence interval for the mean verbal score is \[ (428.32 , 481.68), \] which does contain the true mean of 474, but cannot distinguish it from other scores in the interval.

Problem 8.72 (2 points)

Data: \(3.85, 3.88, 3.90, 3.62, 3.72, 3.80, 3.85, 3.36, 4.01, 3.82\).

\(n = 10\), \(\bar{y} = 3.781\), \(s \doteq 0.18095\), \(df = \nu = 9\)

\(1-\alpha = 0.95\), \(t_{\alpha/2} = t_{0.025} \doteq 2.262\)

\(\bar{y} \pm t_{\alpha/2}\cdot s/\sqrt{n} \doteq 3.718 \pm 2.262\cdot 0.18095 / \sqrt{10} \doteq 3.781 \pm 0.129\).

A \(95\%\) confidence interval is \((3.652 , 3.910)\).

Problem 8.74 (2 points)

Data: \(16, 5, 21, 19, 10, 5, 8, 2, 7, 2, 4, 9\).

\(n = 12\), \(\bar{y} = 9\), \(s \doteq 6.4244\), \(df = \nu = 11\)

\(1-\alpha = 0.90\), \(t_{\alpha/2} = t_{0.05} \doteq 1.796\)

\(\bar{y} \pm t_{\alpha/2}\cdot s / \sqrt{n} \doteq 9 \pm 1.796 \cdot 6.4244 / \sqrt{12} \doteq 9 \pm 3.33\).

A \(90\%\) confidence interval is \((5.67 , 12.33)\).

Problem 8.76 (8 points)

\(n_1 = n_2 = 15\) Verbal Math
Engineering \(\bar{y}_1 = 446\), \(s_1 = 42\) \(\bar{y}_1 = 548\), \(s_1 = 57\)
Language / Literature \(\bar{y}_2 = 534\), \(s_2 = 45\) \(\bar{y}_2 = 517\), \(s_2 = 52\)
  1. \(df = \nu = n_1 + n_2 - 2 = 28\), \(1-\alpha = 0.95\), \(t_{\alpha/2} = t_{0.025} \doteq 2.048\)

    \(s^2_p = [(n_1 - 1)s^2_1 + (n_2 -1)s^2_2]/(n_1 + n_2 - 2) \doteq [14\cdot 42^2 + 14\cdot 45^2]/28 \doteq 1894.5\). \(s_p \doteq 43.526\).

    \((\bar{y}_1 - \bar{y}_2) \pm t_{\alpha/2}\cdot s_p\cdot \sqrt{1/n_1 + 1/n_2} \doteq -88 \pm 32.55\).

    A \(95\%\) confidence interval for the difference in verbal means is \((-120.55, -55.45)\).

  2. \(s^2_p \doteq [14\cdot 57^2 + 14\cdot 52^2]/28 \doteq 2976.5\). \(s_p \doteq 54.56\).

    \((\bar{y}_1 - \bar{y}_2) \pm t_{\alpha/2}\cdot s_p\cdot \sqrt{1/n_1 + 1/n_2} \doteq 31 \pm 40.80\).

    A \(95\%\) confidence interval for the difference in mean math scores is \((-9.80, 71.80)\).

  3. Verbal SAT scores appear to be different for engineering and literature majors, since the \(95\%\) confidence interval does not contain \(0\).

    The interval for the mean math scores contains \(0\), so we cannot distinguish the observed difference from no difference in means.

  4. For the Verbal Category, we assume the engineering scores are well approximated by a normal distribution, and the language / literature scores are well approximated by a second normal distribution that has the same variance as the first normal distribution. We further assume that the observed scores are selected randomly and independently. The same assumptions apply to the Math category.

Problem 8.80 (2 points)

Given: independent samples of sizes \(n_1\) and \(n_2\) from two normal populations with equal variances. In section \(8.8\) we find that \[ T = \frac {(\overline{Y}_1 - \overline{Y}_2) - (\mu_1 - \mu_2)} {S_p\cdot \sqrt{1/n_1 + 1/n_2}} \] is a \(t\)-distributed random variable with \(\nu = n_1 + n_2 - 2\) degrees of freedom. Now, \(P(-t_{\alpha} \le T) = 1 - \alpha\) implies that \(P(\mu_1 - \mu_2 \le \overline{Y}_1 - \overline{Y}_2 + t_{\alpha}\cdot S_p\cdot \sqrt{1/n_1 + 1/n_2}) = 1 - \alpha\). Therefore, a \((1 - \alpha)\cdot 100\%\) upper confidence limit for \(\mu_1 - \mu_2\) is \[ \overline{Y}_1 - \overline{Y}_2 + t_{\alpha}\cdot S_p\cdot \sqrt{1/n_1 + 1/n_2}. \]

Problem 8.82 (2 points)

Data: \(78, 66, 65, 63, 60, 60, 58, 56, 52, 50\)

\(n = 10\), \(s \doteq 7.97\), \(df = \nu = 9\), \(1-\alpha = 0.90\)

\(\chi^2_{1 - \alpha/2} = \chi^2_{0.95} \doteq 3.32511\), \(\chi^2_{\alpha/2} = \chi^2_{0.05} \doteq 16.9190\)

A \(90\%\) confidence interval for \(\sigma^2\) is \[ \left( \frac{9\cdot 7.97^2}{16.9190} , \frac{9\cdot 7.97^2}{3.32511} \right) \doteq (33.79 , 171.93). \]

Problem 8.84 (2 points)

A \((1 - \alpha)\cdot 100\%\) confidence interval for \(\sigma\) is \[ \left( \sqrt{ \frac{(n - 1)\cdot S^2}{\chi^2_{\alpha/2}} } , \sqrt{ \frac{(n - 1)\cdot S^2}{\chi^2_{1 - \alpha/2}} } \right). \]

Problem 8.86 (2 points)

Using the \(n = 20\) data points in this problem, we calculate \(s = 186.69\). With \(1 - \alpha = 0.99\), \(df = \nu = 19\), and \(\chi^2_{1 - \alpha} = \chi^2_{0.99} \doteq 7.63273\), a \(99\%\) upper confidence limit for \(\sigma\) is \[ \sigma < 186.69\cdot \sqrt{ \frac{19}{7.63273} } \doteq 294.55 \text{ hours.} \] Values in this interval, including the value \(150\), are indistinguishable with this test.

Problem 8.88 (2 points)

Data: \(39, 54, 61, 72, 59\)

\(n = 5\), \(df = \nu = 4\), \(1 - \alpha = 0.99\), \(s \doteq 12.02\)

\(\chi^2_{1 - \alpha/2} = \chi^2_{0.995} \doteq 0.206990\), \(\chi^2_{\alpha/2} = \chi^2_{0.005} \doteq 14.8602\)

A \(99\%\) confidence interval for \(\sigma\) is \[ \left( 12.02\cdot \sqrt{ \frac{4}{14.8602} } , 12.02\cdot \sqrt{ \frac{4}{0.206990} } \right) \doteq (6.24 , 52.84). \]

LS0tCnRpdGxlOiAiU29sdXRpb25zIHRvIEhvbWV3b3JrIEFzc2lnbm1lbnQgNSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyNQcm9ibGVtIDguNTggKDQgcG9pbnRzKQpHaXZlbiBcKFlcKSBoYXMgYSBiaW5vbWlhbCBkaXN0cmlidXRpb24gd2l0aCBwYXJhbWV0ZXIgXChwXCkuIEZpbmQgdGhlIHNhbXBsZSBzaXplIG5lY2Vzc2FyeSB0byBlc3RpbWF0ZSBcKHBcKSB0byB3aXRoaW4gXCgwLjA1XCkgd2l0aCBwcm9iYWJpbGl0eSBcKDAuOTVcKQo8b2wgdHlwZT0iYSI+CjxsaT4KaWYgXChwXCkgaXMgdGhvdWdodCB0byBiZSBhcHByb3hpbWF0ZWx5IFwoMC45XCkuIFRoZSBzdGFuZGFyZCBlcnJvciBmb3IgXChcaGF0e3B9ID0gWS9uXCkgaXMKXFsKXHNpZ21hX3tcaGF0e3B9fSA9IFxzcXJ0e3BcY2RvdCAoMS1wKS9ufQpcZG90ZXEgXHNxcnR7MC45IFxjZG90IDAuMSAvIG59ID0gMC4zIC8gXHNxcnR7bn0uClxdCldlIHdhbnQgXChQKFwsfFxoYXR7cH0gLSBwfCA8IDAuMDVcLCkgXGRvdGVxIDAuOTVcKSwgYW5kIHNpbmNlIFwoXGhhdHtwfVwpIGlzIGFwcHJveGltYXRlbHkgbm9ybWFsIGZvciBhbGwgc3VmZmljaWVudGx5IGxhcmdlIFwoblwpLCB3ZSBlc3RpbWF0ZQpcYmVnaW57YWxpZ24qfQpcZnJhY3swLjA1fXtcc2lnbWFfe1xoYXR7cH19fSAmXGRvdGVxIHpfezAuMDI1fSBcZG90ZXEgMS45NiBcXApcaW1wbGllcyBuICZcZ2UgXGxlZnRbIFxmcmFjezAuMyBcY2RvdCAxLjk2fXswLjA1fVxyaWdodF1eMgpcZG90ZXEgMTM4LjMuClxlbmR7YWxpZ24qfQpXZSBtYXkgdGFrZSBcKG4gXGdlIDEzOVwpLgo8L2xpPgo8bGk+CmlmIG5vIGluZm9ybWF0aW9uIGFib3V0IFwocFwpIGlzIGtub3duLiBBIGxpdHRsZSBhbGdlYnJhIHNob3dzIHRoYXQKXChwXGNkb3QgKDEtcCkgPSAxLzQgLSAocCAtIDEvMileMlwpLiBGcm9tIHRoaXMgd2Ugc2VlIHRoYXQgdGhlIG1heGltdW0gdmFsdWUgb2YgXChwXGNkb3QgKDEtcClcKSBpcyBcKDEvNFwpLCBhbmQgdGhhdCB0aGUgbWF4aW11bSB2YWx1ZSBvY2N1cnMgd2hlbiBcKHA9MS8yXCkuIFRodXMsIHRoZSBzdGFuZGFyZCBlcnJvcgpcWwpcc2lnbWFfe1xoYXR7cH19ID0gXHNxcnR7cFxjZG90KDEtcCkvbn0gXGxlIFxzcXJ0ezEvKDRuKX0gPSAwLjUvXHNxcnR7bn0uClxdClRoZXJlZm9yZSwgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUgZm9yIFwoXHNpZ21hX3tcaGF0e3B9fVwpIGlzClwoMC41L1xzcXJ0e259XCkuIFN1YnN0aXR1dGluZyB0aGlzIGVzdGltYXRlIGludG8gcGFydCAoYSkgd2UgY29tcHV0ZQpcWwpuIFxnZQpcbGVmdFsgXGZyYWN7MC41IFxjZG90IDEuOTZ9ezAuMDV9IFxyaWdodF1eMiBcZG90ZXEgMzg0LjE2LgpcXQpXZSBtYXkgdGFrZSBcKG5cZ2UgMzg1XCkuIE5vdGljZSB0aGF0IHRoaXMgZXN0aW1hdGUgaXMgYWJvdXQgXCgyLjhcKSB0aW1lcyBsYXJnZXIgdGhhbiB0aGUgc2FtcGxlIHNpemUgaW4gcGFydCAoYSkuCjwvbGk+Cjwvb2w+CgojI1Byb2JsZW0gOC42MCAoNCBwb2ludHMpCjxvbCB0eXBlPSJhIj4KPGxpPgpBc3N1bWluZyBcKG5fMSA9IG5fMiA9IDE1MDBcKSwgYW5kIApcKFxoYXR7cH1fMSBcZG90ZXEgXGhhdHtwfV8yIFxkb3RlcSAwLjc1XCksIHdlIGhhdmUKXGJlZ2lue2FsaWduKn0KXHNpZ21hXjJfe1xoYXR7cH1fMX0gJlxkb3RlcSBcc2lnbWFeMl97XGhhdHtwfV8yfQpcZG90ZXEgMC43NSBcY2RvdCAwLjI1IC8gMTUwMCBcZG90ZXEgMC4wMDAxMjUgXFwKXGltcGxpZXMgClxzaWdtYV97XGhhdHtwfV8xIC0gXGhhdHtwfV8yfSAmXGRvdGVxClxzcXJ0e1xzaWdtYV4yX3tcaGF0e3B9XzF9ICsgXHNpZ21hXjJfe1xoYXR7cH1fMn19Clxkb3RlcSBcc3FydHswLjAwMDI1fSBcZG90ZXEgMC4wMTU4LgpcZW5ke2FsaWduKn0KVGh1cywgYSB0d28gc3RhbmRhcmQgZXJyb3IgYm91bmQgb24gdGhlIGVycm9yIG9mIGVzdGltYXRpb24gaXMgYXBwcm94aW1hdGVseSBcKDNcJVwpLgo8L2xpPgo8bGk+CldlIHdhbnQgXChQKFwsfCAoXGhhdHtwfV8xIC0gXGhhdHtwfV8yKSAtIChwXzEgLSBwXzIpIHwgPCAwLjAyXCwpIFxkb3RlcSAwLjlcKS4gVXNpbmcgdGhlIG5vcm1hbCBhcHByb3hpbWF0aW9uLCB0aGlzIG1lYW5zIHdlIHdhbnQgCnRvIGZpbmQgYW4gXChuXCkgc28gdGhhdApcWwpcZnJhY3swLjAyfXtcc2lnbWFfe1xoYXR7cH1fMSAtIFxoYXR7cH1fMn19IFxkb3RlcSB6X3swLjA1fQpcZG90ZXEgMS42NDUuClxdClNpbmNlIFwoXHNpZ21hXjJfe1xoYXR7cH1fMSAtIFxoYXR7cH1fMn0KXGRvdGVxIDJcY2RvdCAwLjc1IFxjZG90IDAuMjUgLyBuXCksIHdlIHdhbnQKXFsKbiBcZ2UgXGZyYWN7MlxjZG90IDAuNzUgXGNkb3QgMC4yNVxjZG90KDEuNjQ1KV4yfXsoMC4wMileMn0KXGRvdGVxIDI1MzYuOS4KXF0KV2UgbWF5IHRha2UgXChuXzEgPSBuXzIgPSAyNTM3XCkuCjwvbGk+Cjwvb2w+CgojI1Byb2JsZW0gOC42MiAoMiBwb2ludHMpCkdpdmVuIFwoXHNpZ21hIFxkb3RlcSAwLjVcKSwgdGhlbiAKXChcc2lnbWFfe1xvdmVybGluZXtZfX0gXGRvdGVxIDAuNS9cc3FydHtufVwpLiBXZSB3YW50ClwoUChcLHxcb3ZlcmxpbmV7WX0gLSBcbXV8IDwgMC4xXCwpIFxkb3RlcSAwLjk1XCkuIFVzaW5nIHRoZSBub3JtYWwgYXBwcm94aW1hdGlvbiwgdGhpcyBtZWFucyB3ZSB3YW50IHRvIGZpbmQgYW4gXChuXCkgc28gdGhhdApcYmVnaW57YWxpZ24qfQpcZnJhY3swLjF9e1xzaWdtYV97XG92ZXJsaW5le1l9fX0gJlxkb3RlcSB6X3swLjAyNX0gXGRvdGVxIDEuOTYgXFwKXGltcGxpZXMgbiAmXGdlIFxsZWZ0KFxmcmFjezAuNVxjZG90IDEuOTZ9ezAuMX1ccmlnaHQpXjIKXGRvdGVxIDk2LjA0LgpcZW5ke2FsaWduKn0KV2UgbWF5IHRha2UgXChuID0gOTdcKS4gV2F0ZXIgc3BlY2ltZW50cyBzaG91bGQgYmUgc2VsZWN0ZWQgcmFuZG9tbHkgYW5kIG5vdCBmcm9tIHRoZSBzYW1lIHJhaW5mYWxsLCBzbyB0aGF0IGFsbCBvYnNlcnZhdGlvbnMgd2lsbCBiZSBpbmRlcGVuZGVudC4KCiMjUHJvYmxlbSA4LjY0ICgyIHBvaW50cykKV2UgYXJlIGdpdmVuIGVzdGltYXRlcyBmb3IgXChcc2lnbWFfMVwpIGFuZCBcKFxzaWdtYV8yXCk7ClwoXHNpZ21hXzEgXGRvdGVxIHNfMSBcZG90ZXEgMjQuM1wsIFxtdSBnXCkgYW5kIApcKFxzaWdtYV8yIFxkb3RlcSBzXzIgXGRvdGVxIDE3LjZcLCBcbXUgZ1wpLiBJZiB3ZSBhc3N1bWUKXChuXzEgPSBuXzIgPSBuXCksIHRoZW4gYW4gZXN0aW1hdGUgZm9yIHRoZSBzdGFuZGFyZCBlcnJvciBpcwpcWwpcc2lnbWFfe1xvdmVybGluZXtZfV8xIC0gXG92ZXJsaW5le1l9XzJ9Clxkb3RlcSBcZnJhY3tcc3FydHsoMjQuMyleMiArICgxNy42KV4yfX17XHNxcnR7bn19Clxkb3RlcSBcZnJhY3szMC4wMDR9e1xzcXJ0e259fS4KXF0KV2Ugd2FudCBcKFAoXCx8KFxvdmVybGluZXtZfV8xIC0gXG92ZXJsaW5le1l9XzIpIC0gCihcbXVfMSAtIFxtdV8yKXwgPCA1XCwpXGRvdGVxIDAuOVwpLiBVc2luZyB0aGUgbm9ybWFsIGFwcHJveGltYXRpb24sIHRoaXMgbWVhbnMgdGhhdCB3ZSB3YW50IHRvIGZpbmQgYW4gXChuXCkgc28gdGhhdApcYmVnaW57YWxpZ24qfQpcZnJhY3s1fXtcc2lnbWFfe1xvdmVybGluZXtZfV8xIC0gXG92ZXJsaW5le1l9XzJ9fQomXGRvdGVxIHpfezAuMDV9IFxkb3RlcSAxLjY0NSBcXApcaW1wbGllcyBuICZcZ2UgXGxlZnRbClxmcmFjeygzMC4wMDQpKDEuNjQ1KX17NX1ccmlnaHRdXjIKXGRvdGVxIDk3LjQuClxlbmR7YWxpZ24qfQpXZSBtYXkgdGFrZSBcKG5fMSA9IG5fMiA9IDk4XCkuCgojI1Byb2JsZW0gOC43MCAoNiBwb2ludHMpClwobiA9IDIwXCkgIHwgVmVyYmFsICB8IE1hdGgKLS0tLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0KXChcYmFye3l9XCkgfCBcKDQxOVwpIHwgXCg0NTVcKQpcKHNcKSAgICAgICB8ICBcKDU3XCkgfCAgXCg2OVwpCgo8b2wgdHlwZT0iYSI+CjxsaT4KXCgxLVxhbHBoYSA9IDAuOVwpLCBcKGRmID0gXG51ID0gMTlcKSwgXCh0X3tcYWxwaGEvMn0gPSB0X3swLjA1fSBcZG90ZXEgMS43MjlcKS4KRm9yIHRoZSB2ZXJiYWwgc2NvcmVzLCAKXChcYmFye3l9IFxwbSB0X3tcYWxwaGEvMn1cY2RvdCBzL1xzcXJ0e259IFxkb3RlcSA0MTkgXHBtIDEuNzkyXGNkb3QgNTcvXHNxcnR7MjB9Clxkb3RlcSA0MTkgXHBtIDIyLjA0XCkuIFRodXMsIGEgXCg5MFwlXCkgY29uZmlkZW5jZSBpbnRlcnZhbCBmb3IgdGhlIG1lYW4gdmVyYmFsIHNjb3JlIGlzClxbCigzOTYuOTYgLCA0NDEuMDQpLgpcXQo8L2xpPgo8bGk+ClllcywgdGhlIGludGVydmFsIGluIChhKSBpbmNsdWRlcyB0aGUgdHJ1ZSBtZWFuIG9mIDQyMi4gVGhlIGludGVydmFsIGluIHBhcnQgKGEpIGNhbm5vdCwKaG93ZXZlciwgZGlzdGluZ3Vpc2ggdGhlIHRydWUgbWVhbiBmcm9tIGFueSBvdGhlciBwb2ludCBpbiB0aGUgaW50ZXJ2YWwuCjwvbGk+CjxsaT4KRm9yIHRoZSBtYXRoIHNjb3JlcywgClwoXGJhcnt5fSBccG0gdF97XGFscGhhLzJ9XGNkb3Qgcy9cc3FydHtufSBcZG90ZXEgNDU1IFxwbSAxLjc5MlxjZG90IDY5L1xzcXJ0ezIwfQpcZG90ZXEgNDU1IFxwbSAyNi42OFwpLiBUaHVzLCBhIFwoOTBcJVwpIGNvbmZpZGVuY2UgaW50ZXJ2YWwgZm9yIHRoZSBtZWFuIHZlcmJhbCBzY29yZSBpcwpcWwooNDI4LjMyICwgNDgxLjY4KSwKXF0Kd2hpY2ggZG9lcyBjb250YWluIHRoZSB0cnVlIG1lYW4gb2YgNDc0LCBidXQgY2Fubm90IGRpc3Rpbmd1aXNoIGl0IGZyb20gb3RoZXIgc2NvcmVzIGluIHRoZSBpbnRlcnZhbC4KPC9saT4KPC9vbD4KCiMjUHJvYmxlbSA4LjcyICgyIHBvaW50cykKRGF0YTogXCgzLjg1LCAzLjg4LCAzLjkwLCAzLjYyLCAzLjcyLCAzLjgwLCAzLjg1LCAzLjM2LCA0LjAxLCAzLjgyXCkuCgpcKG4gPSAxMFwpLCBcKFxiYXJ7eX0gPSAzLjc4MVwpLCBcKHMgXGRvdGVxIDAuMTgwOTVcKSwgXChkZiA9IFxudSA9IDlcKQoKXCgxLVxhbHBoYSA9IDAuOTVcKSwgXCh0X3tcYWxwaGEvMn0gPSB0X3swLjAyNX0gXGRvdGVxIDIuMjYyXCkKClwoXGJhcnt5fSBccG0gdF97XGFscGhhLzJ9XGNkb3Qgcy9cc3FydHtufSBcZG90ZXEgMy43MTggXHBtIDIuMjYyXGNkb3QgMC4xODA5NSAvIFxzcXJ0ezEwfQpcZG90ZXEgMy43ODEgXHBtIDAuMTI5XCkuCgpBIFwoOTVcJVwpIGNvbmZpZGVuY2UgaW50ZXJ2YWwgaXMgXCgoMy42NTIgLCAzLjkxMClcKS4KCiMjUHJvYmxlbSA4Ljc0ICgyIHBvaW50cykKRGF0YTogXCgxNiwgNSwgMjEsIDE5LCAxMCwgNSwgOCwgMiwgNywgMiwgNCwgOVwpLgoKXChuID0gMTJcKSwgXChcYmFye3l9ID0gOVwpLCBcKHMgXGRvdGVxIDYuNDI0NFwpLCBcKGRmID0gXG51ID0gMTFcKQoKXCgxLVxhbHBoYSA9IDAuOTBcKSwgXCh0X3tcYWxwaGEvMn0gPSB0X3swLjA1fSBcZG90ZXEgMS43OTZcKQoKXChcYmFye3l9IFxwbSB0X3tcYWxwaGEvMn1cY2RvdCBzIC8gXHNxcnR7bn0gXGRvdGVxIDkgXHBtIDEuNzk2IFxjZG90IDYuNDI0NCAvIFxzcXJ0ezEyfQpcZG90ZXEgOSBccG0gMy4zM1wpLgoKQSBcKDkwXCVcKSBjb25maWRlbmNlIGludGVydmFsIGlzIFwoKDUuNjcgLCAxMi4zMylcKS4KCiMjUHJvYmxlbSA4Ljc2ICg4IHBvaW50cykKXChuXzEgPSBuXzIgPSAxNVwpICAgIHwgVmVyYmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTWF0aAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRW5naW5lZXJpbmcgICAgICAgICAgIHwgXChcYmFye3l9XzEgPSA0NDZcKSwgXChzXzEgPSA0MlwpIHwgXChcYmFye3l9XzEgPSA1NDhcKSwgXChzXzEgPSA1N1wpCkxhbmd1YWdlIC8gTGl0ZXJhdHVyZSB8IFwoXGJhcnt5fV8yID0gNTM0XCksIFwoc18yID0gNDVcKSB8IFwoXGJhcnt5fV8yID0gNTE3XCksIFwoc18yID0gNTJcKQoKPG9sIHR5cGU9ImEiPgo8bGk+ClwoZGYgPSBcbnUgPSBuXzEgKyBuXzIgLSAyID0gMjhcKSwgXCgxLVxhbHBoYSA9IDAuOTVcKSwgClwodF97XGFscGhhLzJ9ID0gdF97MC4wMjV9IFxkb3RlcSAyLjA0OFwpCgpcKHNeMl9wID0gWyhuXzEgLSAxKXNeMl8xICsgKG5fMiAtMSlzXjJfMl0vKG5fMSArIG5fMiAtIDIpClxkb3RlcSBbMTRcY2RvdCA0Ml4yICsgMTRcY2RvdCA0NV4yXS8yOCBcZG90ZXEgMTg5NC41XCkuIFwoc19wIFxkb3RlcSA0My41MjZcKS4KClwoKFxiYXJ7eX1fMSAtIFxiYXJ7eX1fMikgXHBtIHRfe1xhbHBoYS8yfVxjZG90IHNfcFxjZG90IFxzcXJ0ezEvbl8xICsgMS9uXzJ9Clxkb3RlcSAtODggXHBtIDMyLjU1XCkuIAoKQSBcKDk1XCVcKSBjb25maWRlbmNlIGludGVydmFsIGZvciB0aGUgZGlmZmVyZW5jZSBpbiB2ZXJiYWwgbWVhbnMgaXMgClwoKC0xMjAuNTUsIC01NS40NSlcKS4KCjwvbGk+CjxsaT4KXChzXjJfcCBcZG90ZXEgWzE0XGNkb3QgNTdeMiArIDE0XGNkb3QgNTJeMl0vMjggXGRvdGVxIDI5NzYuNVwpLiBcKHNfcCBcZG90ZXEgNTQuNTZcKS4KClwoKFxiYXJ7eX1fMSAtIFxiYXJ7eX1fMikgXHBtIHRfe1xhbHBoYS8yfVxjZG90IHNfcFxjZG90IFxzcXJ0ezEvbl8xICsgMS9uXzJ9Clxkb3RlcSAzMSBccG0gNDAuODBcKS4gCgpBIFwoOTVcJVwpIGNvbmZpZGVuY2UgaW50ZXJ2YWwgZm9yIHRoZSBkaWZmZXJlbmNlIGluIG1lYW4gbWF0aCBzY29yZXMgaXMgClwoKC05LjgwLCA3MS44MClcKS4KCjwvbGk+CjxsaT4KVmVyYmFsIFNBVCBzY29yZXMgYXBwZWFyIHRvIGJlIGRpZmZlcmVudCBmb3IgZW5naW5lZXJpbmcgYW5kIGxpdGVyYXR1cmUgbWFqb3JzLCBzaW5jZSB0aGUKXCg5NVwlXCkgY29uZmlkZW5jZSBpbnRlcnZhbCBkb2VzIG5vdCBjb250YWluIFwoMFwpLgoKVGhlIGludGVydmFsIGZvciB0aGUgbWVhbiBtYXRoIHNjb3JlcyBjb250YWlucyBcKDBcKSwgc28gd2UgY2Fubm90IGRpc3Rpbmd1aXNoIHRoZSBvYnNlcnZlZCAKZGlmZmVyZW5jZSBmcm9tIG5vIGRpZmZlcmVuY2UgaW4gbWVhbnMuCgo8L2xpPgo8bGk+CkZvciB0aGUgVmVyYmFsIENhdGVnb3J5LCB3ZSBhc3N1bWUgdGhlIGVuZ2luZWVyaW5nIHNjb3JlcyBhcmUgd2VsbCBhcHByb3hpbWF0ZWQgYnkgYSBub3JtYWwgZGlzdHJpYnV0aW9uLAphbmQgdGhlIGxhbmd1YWdlIC8gbGl0ZXJhdHVyZSBzY29yZXMgYXJlIHdlbGwgYXBwcm94aW1hdGVkIGJ5IGEgc2Vjb25kIG5vcm1hbCBkaXN0cmlidXRpb24gdGhhdApoYXMgdGhlIHNhbWUgdmFyaWFuY2UgYXMgdGhlIGZpcnN0IG5vcm1hbCBkaXN0cmlidXRpb24uIFdlIGZ1cnRoZXIgYXNzdW1lIHRoYXQgdGhlIG9ic2VydmVkIHNjb3JlcyBhcmUgCnNlbGVjdGVkIHJhbmRvbWx5IGFuZCBpbmRlcGVuZGVudGx5LiBUaGUgc2FtZSBhc3N1bXB0aW9ucyBhcHBseSB0byB0aGUgTWF0aCBjYXRlZ29yeS4KPC9saT4KPC9vbD4KCiMjUHJvYmxlbSA4LjgwICgyIHBvaW50cykKR2l2ZW46IGluZGVwZW5kZW50IHNhbXBsZXMgb2Ygc2l6ZXMgXChuXzFcKSBhbmQgXChuXzJcKSBmcm9tIHR3byBub3JtYWwgcG9wdWxhdGlvbnMKd2l0aCBlcXVhbCB2YXJpYW5jZXMuIEluIHNlY3Rpb24gXCg4LjhcKSB3ZSBmaW5kIHRoYXQKXFsKVCA9IFxmcmFjCnsoXG92ZXJsaW5le1l9XzEgLSBcb3ZlcmxpbmV7WX1fMikgLSAoXG11XzEgLSBcbXVfMil9CntTX3BcY2RvdCBcc3FydHsxL25fMSArIDEvbl8yfX0KXF0KaXMgYSBcKHRcKS1kaXN0cmlidXRlZCByYW5kb20gdmFyaWFibGUgd2l0aCBcKFxudSA9IG5fMSArIG5fMiAtIDJcKSBkZWdyZWVzIG9mIGZyZWVkb20uCk5vdywgXChQKC10X3tcYWxwaGF9IFxsZSBUKSA9IDEgLSBcYWxwaGFcKSBpbXBsaWVzIHRoYXQKXChQKFxtdV8xIC0gXG11XzIgXGxlIFxvdmVybGluZXtZfV8xIC0gXG92ZXJsaW5le1l9XzIgKyB0X3tcYWxwaGF9XGNkb3QgU19wXGNkb3QgXHNxcnR7MS9uXzEgKyAxL25fMn0pCj0gMSAtIFxhbHBoYVwpLiBUaGVyZWZvcmUsIGEgXCgoMSAtIFxhbHBoYSlcY2RvdCAxMDBcJVwpIHVwcGVyIGNvbmZpZGVuY2UgbGltaXQgZm9yClwoXG11XzEgLSBcbXVfMlwpIGlzClxbClxvdmVybGluZXtZfV8xIC0gXG92ZXJsaW5le1l9XzIgKyB0X3tcYWxwaGF9XGNkb3QgU19wXGNkb3QgXHNxcnR7MS9uXzEgKyAxL25fMn0uClxdCgojI1Byb2JsZW0gOC44MiAoMiBwb2ludHMpCkRhdGE6IFwoNzgsIDY2LCA2NSwgNjMsIDYwLCA2MCwgNTgsIDU2LCA1MiwgNTBcKQoKXChuID0gMTBcKSwgXChzIFxkb3RlcSA3Ljk3XCksIFwoZGYgPSBcbnUgPSA5XCksIFwoMS1cYWxwaGEgPSAwLjkwXCkKClwoXGNoaV4yX3sxIC0gXGFscGhhLzJ9ID0gXGNoaV4yX3swLjk1fSBcZG90ZXEgMy4zMjUxMVwpLApcKFxjaGleMl97XGFscGhhLzJ9ID0gXGNoaV4yX3swLjA1fSBcZG90ZXEgMTYuOTE5MFwpCgpBIFwoOTBcJVwpIGNvbmZpZGVuY2UgaW50ZXJ2YWwgZm9yIFwoXHNpZ21hXjJcKSBpcwpcWwpcbGVmdCgKXGZyYWN7OVxjZG90IDcuOTdeMn17MTYuOTE5MH0gLApcZnJhY3s5XGNkb3QgNy45N14yfXszLjMyNTExfQpccmlnaHQpClxkb3RlcQooMzMuNzkgLCAxNzEuOTMpLgpcXQoKIyNQcm9ibGVtIDguODQgKDIgcG9pbnRzKQpBIFwoKDEgLSBcYWxwaGEpXGNkb3QgMTAwXCVcKSBjb25maWRlbmNlIGludGVydmFsIGZvciBcKFxzaWdtYVwpIGlzClxbClxsZWZ0KApcc3FydHsKXGZyYWN7KG4gLSAxKVxjZG90IFNeMn17XGNoaV4yX3tcYWxwaGEvMn19Cn0gLApcc3FydHsKXGZyYWN7KG4gLSAxKVxjZG90IFNeMn17XGNoaV4yX3sxIC0gXGFscGhhLzJ9fQp9ClxyaWdodCkuClxdCgojI1Byb2JsZW0gOC44NiAoMiBwb2ludHMpClVzaW5nIHRoZSBcKG4gPSAyMFwpIGRhdGEgcG9pbnRzIGluIHRoaXMgcHJvYmxlbSwgd2UgY2FsY3VsYXRlClwocyA9IDE4Ni42OVwpLiBXaXRoIFwoMSAtIFxhbHBoYSA9IDAuOTlcKSwKXChkZiA9IFxudSA9IDE5XCksIGFuZCBcKFxjaGleMl97MSAtIFxhbHBoYX0gPSBcY2hpXjJfezAuOTl9IFxkb3RlcSA3LjYzMjczXCksCmEgXCg5OVwlXCkgdXBwZXIgY29uZmlkZW5jZSBsaW1pdCBmb3IgXChcc2lnbWFcKSBpcwpcWwpcc2lnbWEgPCAxODYuNjlcY2RvdCAKXHNxcnR7ClxmcmFjezE5fXs3LjYzMjczfQp9IFxkb3RlcSAyOTQuNTUgXHRleHR7IGhvdXJzLn0KXF0KVmFsdWVzIGluIHRoaXMgaW50ZXJ2YWwsIGluY2x1ZGluZyB0aGUgdmFsdWUgXCgxNTBcKSwgCmFyZSBpbmRpc3Rpbmd1aXNoYWJsZSB3aXRoIHRoaXMgdGVzdC4KCiMjUHJvYmxlbSA4Ljg4ICgyIHBvaW50cykKRGF0YTogXCgzOSwgNTQsIDYxLCA3MiwgNTlcKQoKXChuID0gNVwpLCBcKGRmID0gXG51ID0gNFwpLCBcKDEgLSBcYWxwaGEgPSAwLjk5XCksIFwocyBcZG90ZXEgMTIuMDJcKQoKXChcY2hpXjJfezEgLSBcYWxwaGEvMn0gPSBcY2hpXjJfezAuOTk1fSBcZG90ZXEgMC4yMDY5OTBcKSwgClwoXGNoaV4yX3tcYWxwaGEvMn0gPSBcY2hpXjJfezAuMDA1fSBcZG90ZXEgMTQuODYwMlwpCgpBIFwoOTlcJVwpIGNvbmZpZGVuY2UgaW50ZXJ2YWwgZm9yIFwoXHNpZ21hXCkgaXMKXFsKXGxlZnQoCjEyLjAyXGNkb3QKXHNxcnR7ClxmcmFjezR9ezE0Ljg2MDJ9Cn0gLAoxMi4wMlxjZG90ClxzcXJ0ewpcZnJhY3s0fXswLjIwNjk5MH0KfQpccmlnaHQpClxkb3RlcQooNi4yNCAsIDUyLjg0KS4KXF0KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo=