Note: The focus for learning/tutoring is on Sectin E - Multiple Cases Analysis. Section B is for background information.

B. Information about the Gruenke et al 2014 study

Relevance and intervention logic

Reading comprehension is the ability to construct and extract meaning from a written text. It is considered to be the most critical skill that is needed to succeed in school. If readers have serious difficulties to gather relevant information from a historical account, a mathematical word problem, or a passage in a biology book, they are bound to fail in most every task that is put before them.

This single-case study examined the effects of a graphic organizing strategy on the ability of children to improve their text comprehension abilities. Participants were six students between ten and fourteen years old with major problems in understanding what they read. The intervention intended to teach them to visually highlight key elements of a passage, and thus, to deepen their understanding of it (story mapping).

The study was conducted in Germany. Three 5th grade students from a regular education public school and three 8th grade students from a school for children with learning difficulties served as subjects. Four of them were female (Anna, Bella, Christina, and Dunja), two of them were male (Egor and Fabian) (names altered, for anonymity).

Dependent variable measurement

18 narratives from three different German story books were selected. All of them were altered in a way that it was possible to formulate exactly ten comprehension questions about each tale that covered its main content. The comprehension questions were stated in a way that only one specific and distinct answer was possible to be counted as correct. Subsequently, we standardized the texts, so that each of them consisted of exactly 150 words. In a preliminary survey, the stories and comprehension questions were presented to twenty low achieving children between 9 and 10 years old in order to identify items that were either too easy or too hard to solve. We involved the insights from this preliminary survey to compose the final version of our question sets.

In the course of the study, each student was individually presented with a different story and a different set of comprehension questions for 18 consecutive school days. The order of the tales was randomly chosen for each child. Each student was asked to read a respective story out loud and then to write down the answers to the corresponding questions on a worksheet.

The intervention

To teach the boys and girls how to better comprehend narrative texts by using a story map, the student instructor followed a procedure outlined by Idol (1987):

  1. Modeling phase: the teacher demonstrates how a story map is used by reading a tale out loud and by stopping whenever important information is mentioned to fill out parts of his or her worksheet,
  2. lead phase: the children read stories independently and complete their maps while the teacher prompts and encourages them to review their work results and to add details that they might have overlooked,
  3. test phase: the children read texts, draw maps of their own, ask questions pertaining to the content, answer them, and fill in the components into their maps without close supervision by the teacher; the teacher only intervenes if the students ask for or obviously needs help.

Design

An AB multiple baseline design (MBD) across subjects was applied.

E. Multiple cases analysis

Definition and characteristics of a multiple baseline design (MBD)

Example for what an MBD minimally looks like:

plotSC(c(Anna, Bella, Christina))

Question: What do you notice in this display?

The MBL addresses the thorny problem of how to study a dependent variable when it is not feasible, ethical, or desirable to reverse the initial effect.

Question Q_MBD_1: Why was there not a reversal design (ABA, or ABAB) used in this study?

writeLines(Q_MBD_1)
In learning studies, we expect knowledge/skill to be maintained
(at least in the short run) rather than dropping after instruction.

The MBL grew from the simple AB design in which repeated measurement of a variable in baseline was used to document a basic effect following introduction of the intervention (independent variable) in the B condition. The often cited problem with AB designs is not their inability to document change, but their lack of control for competing explanations for that change. Experimental research designs are constructed to allow both demonstration of change, and the inference that it is unlikely that anything other than the independent variable was responsible for the observed change in the dependent variable. Multiple baseline designs achieve this dual goal by

  1. ensuring that manipulation of the independent variable is “active” rather than “passive,”
  2. incorporating replication of at least three basic effects, and
  3. staggering onset of the independent variable across at least three different points in time (lengths of baseline).

Active variable manipulation

The researcher actively manipulates the independent variable by selecting when and how the independent variable is introduced. As an example, a study examining the effects of teacher reinforcement on student performance would be judged to “actively” manipulate the independent variable by selecting in advance how much reinforcement a teacher would provide to a student in a class. Passive manipulation would involve simply monitoring how much reinforcement typically occurs, and this passive approach would not allow sufficient control to meet the criteria of an experimental single-case design.

Question: How is active control exercted in this study?

Replication of at least three basic effects with staggered onset of the indepedent variable

The staggered onset of the independent variable is the most signature feature of the MBL design. The staggered onset feature is achieved by first defining at least three “data series.” A data series is a set of repeated measurements (e.g., the rate of social initiations for a child each day). Defining three data series could be achieved by measuring the dependent variable across each of three or more students. The data for each student would establish a data series. Three or more data series could also, however, be created by monitoring the behavior of one student in three or more different routines (e.g., snack, morning circle, science time, play time). Also, a data series could be applied to different behaviors measured for a single participant (e.g., focusing on faces, turn taking, joint attention). These are called MBL designs across participants, settings, or behaviors, respectively.

Question: The AB design in this case is across subjects (students); does that mean there can be AB designs across other entities? For instance, across different times in the day for one subject? Across different aspects of behavior (e.g., frequency, onset, intensity) for one subject?

The intervention points were randomly determined within a preset range (1-8) for each participant.

Question Q_MBD_2: Why was the length of the baseline randomly chosen?

writeLines(Q_MBD_2)
In this way, the baseline history becomes a random factor (the opposite would
be a *fixed* factor); this allows to generalize over the baseline: For a pre-intervention 
of any length between 1 and 8 days, the intervetion can be assumed to work (if it works).

Let’s do some analysis on the six cases:

We can put all six cases into one vector so that we can apply functions to all cases when we need that.

Question Q_MBD_3: How do you create the vector allcases from the six cases?

# Your answer

`

writeLines(Q_MBD_3)
allcases <- (c(Anna, Bella, Christina, Dunja, Egor, Fabian))

Stats for all cases:

describeSC(allcases)
Describe Single-Case Data

Design:  A B 
NA

And we can look at plots of multiple students in one graph, like the first three that come from a normal school:

plotSC(c(Anna, Bella, Christina))

Question: How would you produce a multi-case plot for the three cases from the special needs school (Duna, Egor and Fabian)?

# code here

Question: What do you conclude from a visual inspection across the cases?

Your observations:


More overlap indices:

overlapSC(allcases)
Cannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with ties
Overlap Indices

Design:  A B 
Comparing phase 1 against phase 2 

               Anna  Bella Christina Dunja   Egor Fabian
PND          100.00 100.00     85.71 83.33 100.00   0.00
PEM          100.00 100.00     85.71 91.67 100.00 100.00
PET          100.00 100.00    100.00 91.67 100.00   0.00
NAP          100.00 100.00     90.18 90.97 100.00  83.75
NAP.rescaled 100.00 100.00     80.36 81.94 100.00  67.50
PAND         100.00 100.00     80.56 80.56 100.00  77.78
TAU_U          0.43   0.53      0.49  0.46   0.46   0.06
Base_Tau       0.67   0.77      0.53  0.60   0.72  -0.69
Diff_mean      4.14   5.82      4.07  3.92   4.48   3.45
Diff_trend     0.43   0.00      0.69  0.41  -0.07  -1.30
SMD            5.07   7.13      4.99  5.20   8.17   1.11

Overall evaluation

Question: What do the data show regarding the effectiveness of the intervention?

Your evaluation 

This ends the descriptive analysis of the six cases. For more on statisticla analysis with SCAN, see the paper mentioned above.

LS0tCnRpdGxlOiAiVHV0b3JpYWwgQiIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKTm90ZTogVGhlIGZvY3VzIGZvciBsZWFybmluZy90dXRvcmluZyBpcyBvbiBTZWN0aW4gRSAtIE11bHRpcGxlIENhc2VzIEFuYWx5c2lzLiBTZWN0aW9uIEIgaXMgZm9yIGJhY2tncm91bmQgaW5mb3JtYXRpb24uIAoKCiMgQi4gSW5mb3JtYXRpb24gYWJvdXQgdGhlIEdydWVua2UgZXQgYWwgMjAxNCBzdHVkeQoKIyMgUmVsZXZhbmNlIGFuZCBpbnRlcnZlbnRpb24gbG9naWMKClJlYWRpbmcgY29tcHJlaGVuc2lvbiBpcyB0aGUgYWJpbGl0eSB0byBjb25zdHJ1Y3QgYW5kIGV4dHJhY3QgbWVhbmluZyBmcm9tIGEgd3JpdHRlbiB0ZXh0LiBJdCBpcyBjb25zaWRlcmVkIHRvIGJlIHRoZSBtb3N0IGNyaXRpY2FsIHNraWxsIHRoYXQgaXMgbmVlZGVkIHRvIHN1Y2NlZWQgaW4gc2Nob29sLiBJZiByZWFkZXJzIGhhdmUgc2VyaW91cyBkaWbvrIFjdWx0aWVzIHRvIGdhdGhlciByZWxldmFudCBpbmZvcm1hdGlvbiBmcm9tIGEgaGlzdG9yaWNhbCBhY2NvdW50LCBhIG1hdGhlbWF0aWNhbCB3b3JkIHByb2JsZW0sIG9yIGEgcGFzc2FnZSBpbiBhIGJpb2xvZ3kgYm9vaywgdGhleSBhcmUgYm91bmQgdG8gZmFpbCBpbiBtb3N0IGV2ZXJ5IHRhc2sgdGhhdCBpcyBwdXQgYmVmb3JlIHRoZW0uIAoKVGhpcyBzaW5nbGUtY2FzZSBzdHVkeSBleGFtaW5lZCB0aGUgZWZmZWN0cyBvZiBhIGdyYXBoaWMgb3JnYW5pemluZyBzdHJhdGVneSBvbiB0aGUgYWJpbGl0eSBvZiBjaGlsZHJlbiB0byBpbXByb3ZlIHRoZWlyIHRleHQgY29tcHJlaGVuc2lvbiBhYmlsaXRpZXMuIFBhcnRpY2lwYW50cyB3ZXJlIHNpeCBzdHVkZW50cyBiZXR3ZWVuIHRlbiBhbmQgZm91cnRlZW4geWVhcnMgb2xkIHdpdGggbWFqb3IgcHJvYmxlbXMgaW4gdW5kZXJzdGFuZGluZyB3aGF0IHRoZXkgcmVhZC4gVGhlIGludGVydmVudGlvbiBpbnRlbmRlZCB0byB0ZWFjaCB0aGVtIHRvIHZpc3VhbGx5IGhpZ2hsaWdodCBrZXkgZWxlbWVudHMgb2YgYSBwYXNzYWdlLCBhbmQgdGh1cywgdG8gZGVlcGVuIHRoZWlyIHVuZGVyc3RhbmRpbmcgb2YgaXQgKHN0b3J5IG1hcHBpbmcpLiAKClRoZSBzdHVkeSB3YXMgY29uZHVjdGVkIGluIEdlcm1hbnkuIFRocmVlIDV0aCBncmFkZSBzdHVkZW50cyBmcm9tIGEgcmVndWxhciBlZHVjYXRpb24gcHVibGljIHNjaG9vbCBhbmQgdGhyZWUgOHRoIGdyYWRlIHN0dWRlbnRzIGZyb20gYSBzY2hvb2wgZm9yIGNoaWxkcmVuIHdpdGggbGVhcm5pbmcgZGlm76yBY3VsdGllcyBzZXJ2ZWQgYXMgc3ViamVjdHMuIEZvdXIgb2YgdGhlbSB3ZXJlIGZlbWFsZSAoQW5uYSwgQmVsbGEsIENocmlzdGluYSwgYW5kIER1bmphKSwgdHdvIG9mIHRoZW0gd2VyZSBtYWxlIChFZ29yIGFuZCBGYWJpYW4pIChuYW1lcyBhbHRlcmVkLCBmb3IgYW5vbnltaXR5KS4KCiMjIERlcGVuZGVudCB2YXJpYWJsZSBtZWFzdXJlbWVudAoKMTggbmFycmF0aXZlcyBmcm9tIHRocmVlIGRpZmZlcmVudCBHZXJtYW4gc3RvcnkgYm9va3Mgd2VyZSBzZWxlY3RlZC4gQWxsIG9mIHRoZW0gd2VyZSBhbHRlcmVkIGluIGEgd2F5IHRoYXQgaXQgd2FzIHBvc3NpYmxlIHRvIGZvcm11bGF0ZSBleGFjdGx5IHRlbiBjb21wcmVoZW5zaW9uIHF1ZXN0aW9ucyBhYm91dCBlYWNoIHRhbGUgdGhhdCBjb3ZlcmVkIGl0cyBtYWluIGNvbnRlbnQuIFRoZSBjb21wcmVoZW5zaW9uIHF1ZXN0aW9ucyB3ZXJlIHN0YXRlZCBpbiBhIHdheSB0aGF0IG9ubHkgb25lIHNwZWNp76yBYyBhbmQgZGlzdGluY3QgYW5zd2VyIHdhcyBwb3NzaWJsZSB0byBiZSBjb3VudGVkIGFzIGNvcnJlY3QuIFN1YnNlcXVlbnRseSwgd2Ugc3RhbmRhcmRpemVkIHRoZSB0ZXh0cywgc28gdGhhdCBlYWNoIG9mIHRoZW0gY29uc2lzdGVkIG9mIGV4YWN0bHkgMTUwIHdvcmRzLiBJbiBhIHByZWxpbWluYXJ5IHN1cnZleSwgdGhlIHN0b3JpZXMgYW5kIGNvbXByZWhlbnNpb24gcXVlc3Rpb25zIHdlcmUgcHJlc2VudGVkIHRvIHR3ZW50eSBsb3cgYWNoaWV2aW5nIGNoaWxkcmVuIGJldHdlZW4gOSBhbmQgMTAgeWVhcnMgb2xkIGluIG9yZGVyIHRvIGlkZW50aWZ5IGl0ZW1zIHRoYXQgd2VyZSBlaXRoZXIgdG9vIGVhc3kgb3IgdG9vIGhhcmQgdG8gc29sdmUuIFdlIGludm9sdmVkIHRoZSBpbnNpZ2h0cyBmcm9tIHRoaXMgcHJlbGltaW5hcnkgc3VydmV5IHRvIGNvbXBvc2UgdGhlIO+sgW5hbCB2ZXJzaW9uIG9mIG91ciBxdWVzdGlvbiBzZXRzLgoKSW4gdGhlIGNvdXJzZSBvZiB0aGUgc3R1ZHksIGVhY2ggc3R1ZGVudCB3YXMgaW5kaXZpZHVhbGx5IHByZXNlbnRlZCB3aXRoIGEgZGlmZmVyZW50IHN0b3J5IGFuZCBhIGRpZmZlcmVudCBzZXQgb2YgY29tcHJlaGVuc2lvbiBxdWVzdGlvbnMgZm9yIDE4IGNvbnNlY3V0aXZlIHNjaG9vbCBkYXlzLiBUaGUgb3JkZXIgb2YgdGhlIHRhbGVzIHdhcyByYW5kb21seSBjaG9zZW4gZm9yIGVhY2ggY2hpbGQuIEVhY2ggc3R1ZGVudCB3YXMgYXNrZWQgdG8gcmVhZCBhIHJlc3BlY3RpdmUgc3Rvcnkgb3V0IGxvdWQgYW5kIHRoZW4gdG8gd3JpdGUgZG93biB0aGUgYW5zd2VycyB0byB0aGUgY29ycmVzcG9uZGluZyBxdWVzdGlvbnMgb24gYSB3b3Jrc2hlZXQuCgoKIyMgVGhlIGludGVydmVudGlvbgoKVG8gdGVhY2ggdGhlIGJveXMgYW5kIGdpcmxzIGhvdyB0byBiZXR0ZXIgY29tcHJlaGVuZCBuYXJyYXRpdmUgdGV4dHMgYnkgdXNpbmcgYSBzdG9yeSBtYXAsIHRoZSBzdHVkZW50IGluc3RydWN0b3IgZm9sbG93ZWQgYSBwcm9jZWR1cmUgb3V0bGluZWQgYnkgSWRvbCAoMTk4Nyk6IAoKMS4gIE1vZGVsaW5nIHBoYXNlOiB0aGUgdGVhY2hlciBkZW1vbnN0cmF0ZXMgaG93IGEgc3RvcnkgbWFwIGlzIHVzZWQgYnkgcmVhZGluZyBhIHRhbGUgb3V0IGxvdWQgYW5kIGJ5IHN0b3BwaW5nIHdoZW5ldmVyIGltcG9ydGFudCBpbmZvcm1hdGlvbiBpcyBtZW50aW9uZWQgdG8g76yBbGwgb3V0IHBhcnRzIG9mIGhpcyBvciBoZXIgd29ya3NoZWV0LAoyLiBsZWFkIHBoYXNlOiB0aGUgY2hpbGRyZW4gcmVhZCBzdG9yaWVzIGluZGVwZW5kZW50bHkgYW5kIGNvbXBsZXRlIHRoZWlyIG1hcHMgd2hpbGUgdGhlIHRlYWNoZXIgcHJvbXB0cyBhbmQgZW5jb3VyYWdlcyB0aGVtIHRvIHJldmlldyB0aGVpciB3b3JrIHJlc3VsdHMgYW5kIHRvIGFkZCBkZXRhaWxzIHRoYXQgdGhleSBtaWdodCBoYXZlIG92ZXJsb29rZWQsIAozLiAgdGVzdCBwaGFzZTogdGhlIGNoaWxkcmVuIHJlYWQgdGV4dHMsIGRyYXcgbWFwcyBvZiB0aGVpciBvd24sIGFzayBxdWVzdGlvbnMgcGVydGFpbmluZyB0byB0aGUgY29udGVudCwgYW5zd2VyIHRoZW0sIGFuZCDvrIFsbCBpbiB0aGUgY29tcG9uZW50cyBpbnRvIHRoZWlyIG1hcHMgd2l0aG91dCBjbG9zZSBzdXBlcnZpc2lvbiBieSB0aGUgdGVhY2hlcjsgdGhlIHRlYWNoZXIgb25seSBpbnRlcnZlbmVzIGlmIHRoZSBzdHVkZW50cyBhc2sgZm9yIG9yIG9idmlvdXNseSBuZWVkcyBoZWxwLgoKIyMgRGVzaWduCgpBbiBBQiBtdWx0aXBsZSBiYXNlbGluZSBkZXNpZ24gKE1CRCkgYWNyb3NzIHN1YmplY3RzIHdhcyBhcHBsaWVkLiAKCiMgRS4gTXVsdGlwbGUgY2FzZXMgYW5hbHlzaXMKCgojIyMgRGVmaW5pdGlvbiBhbmQgY2hhcmFjdGVyaXN0aWNzIG9mIGEgbXVsdGlwbGUgYmFzZWxpbmUgZGVzaWduIChNQkQpIAoKRXhhbXBsZSBmb3Igd2hhdCBhbiBNQkQgbWluaW1hbGx5IGxvb2tzIGxpa2U6IAoKCmBgYHtyfQpwbG90U0MoYyhBbm5hLCBCZWxsYSwgQ2hyaXN0aW5hKSkKYGBgCgoqKlF1ZXN0aW9uOioqIFdoYXQgZG8geW91IG5vdGljZSBpbiB0aGlzIGRpc3BsYXk/IAoKClRoZSBNQkwgYWRkcmVzc2VzIHRoZSB0aG9ybnkgcHJvYmxlbSBvZiBob3cgdG8gc3R1ZHkgYSBkZXBlbmRlbnQgdmFyaWFibGUgd2hlbiBpdCBpcyBub3QgZmVhc2libGUsIGV0aGljYWwsIG9yIGRlc2lyYWJsZSB0byByZXZlcnNlIHRoZSBpbml0aWFsIGVmZmVjdC4gCgoqKlF1ZXN0aW9uIFFfTUJEXzE6KiogV2h5IHdhcyB0aGVyZSBub3QgYSByZXZlcnNhbCBkZXNpZ24gKEFCQSwgb3IgQUJBQikgdXNlZCBpbiB0aGlzIHN0dWR5PyAKCmBgYHtyfQp3cml0ZUxpbmVzKFFfTUJEXzEpCmBgYAoKClRoZSBNQkwgZ3JldyBmcm9tIHRoZSBzaW1wbGUgQUIgZGVzaWduIGluIHdoaWNoIHJlcGVhdGVkIG1lYXN1cmVtZW50IG9mIGEgdmFyaWFibGUgaW4gYmFzZWxpbmUgd2FzIHVzZWQgdG8gZG9jdW1lbnQgYSBiYXNpYyBlZmZlY3QgZm9sbG93aW5nIGludHJvZHVjdGlvbiBvZiB0aGUgaW50ZXJ2ZW50aW9uIChpbmRlcGVuZGVudCB2YXJpYWJsZSkgaW4gdGhlIEIgY29uZGl0aW9uLiBUaGUgb2Z0ZW4gY2l0ZWQgcHJvYmxlbSB3aXRoIEFCIGRlc2lnbnMgaXMgbm90IHRoZWlyIGluYWJpbGl0eSB0byBkb2N1bWVudCBjaGFuZ2UsIGJ1dCB0aGVpciBsYWNrIG9mIGNvbnRyb2wgZm9yIGNvbXBldGluZyBleHBsYW5hdGlvbnMgZm9yIHRoYXQgY2hhbmdlLiBFeHBlcmltZW50YWwgcmVzZWFyY2ggZGVzaWducyBhcmUgY29uc3RydWN0ZWQgdG8gYWxsb3cgYm90aCBkZW1vbnN0cmF0aW9uIG9mIGNoYW5nZSwgYW5kIHRoZSBpbmZlcmVuY2UgdGhhdCBpdCBpcyB1bmxpa2VseSB0aGF0IGFueXRoaW5nIG90aGVyIHRoYW4gdGhlIGluZGVwZW5kZW50IHZhcmlhYmxlIHdhcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmVkIGNoYW5nZSBpbiB0aGUgZGVwZW5kZW50IHZhcmlhYmxlLiBNdWx0aXBsZSBiYXNlbGluZSBkZXNpZ25zIGFjaGlldmUgdGhpcyBkdWFsIGdvYWwgYnkgCgphLiBlbnN1cmluZyB0aGF0IG1hbmlwdWxhdGlvbiBvZiB0aGUgaW5kZXBlbmRlbnQgdmFyaWFibGUgaXMg4oCcYWN0aXZl4oCdIHJhdGhlciB0aGFuIOKAnHBhc3NpdmUs4oCdCmIuIGluY29ycG9yYXRpbmcgcmVwbGljYXRpb24gb2YgYXQgbGVhc3QgdGhyZWUgYmFzaWMgZWZmZWN0cywgYW5kIApjLiBzdGFnZ2VyaW5nIG9uc2V0IG9mIHRoZSBpbmRlcGVuZGVudCB2YXJpYWJsZSBhY3Jvc3MgYXQgbGVhc3QgdGhyZWUgZGlmZmVyZW50IHBvaW50cyBpbiB0aW1lIChsZW5ndGhzIG9mIGJhc2VsaW5lKS4KCiMjIyMgQWN0aXZlIHZhcmlhYmxlIG1hbmlwdWxhdGlvbgoKVGhlIHJlc2VhcmNoZXIgYWN0aXZlbHkgbWFuaXB1bGF0ZXMgdGhlIGluZGVwZW5kZW50IHZhcmlhYmxlIGJ5IHNlbGVjdGluZyB3aGVuIGFuZCBob3cgdGhlIGluZGVwZW5kZW50IHZhcmlhYmxlIGlzIGludHJvZHVjZWQuIEFzIGFuIGV4YW1wbGUsIGEgc3R1ZHkgZXhhbWluaW5nIHRoZSBlZmZlY3RzIG9mIHRlYWNoZXIgcmVpbmZvcmNlbWVudCBvbiBzdHVkZW50IHBlcmZvcm1hbmNlIHdvdWxkIGJlIGp1ZGdlZCB0byDigJxhY3RpdmVseeKAnSBtYW5pcHVsYXRlIHRoZSBpbmRlcGVuZGVudCB2YXJpYWJsZSBieSBzZWxlY3RpbmcgaW4gYWR2YW5jZSBob3cgbXVjaCByZWluZm9yY2VtZW50IGEgdGVhY2hlciB3b3VsZCBwcm92aWRlIHRvIGEgc3R1ZGVudCBpbiBhIGNsYXNzLiBQYXNzaXZlIG1hbmlwdWxhdGlvbiB3b3VsZCBpbnZvbHZlIHNpbXBseSBtb25pdG9yaW5nIGhvdyBtdWNoIHJlaW5mb3JjZW1lbnQgdHlwaWNhbGx5IG9jY3VycywgYW5kIHRoaXMgcGFzc2l2ZSBhcHByb2FjaCB3b3VsZCBub3QgYWxsb3cgc3VmZmljaWVudCBjb250cm9sIHRvIG1lZXQgdGhlIGNyaXRlcmlhIG9mIGFuIGV4cGVyaW1lbnRhbCBzaW5nbGUtY2FzZSBkZXNpZ24uCgoqKlF1ZXN0aW9uOioqIEhvdyBpcyBhY3RpdmUgY29udHJvbCBleGVyY3RlZCBpbiB0aGlzIHN0dWR5PyAKCgojIyMjIFJlcGxpY2F0aW9uIG9mIGF0IGxlYXN0IHRocmVlIGJhc2ljIGVmZmVjdHMgd2l0aCBzdGFnZ2VyZWQgb25zZXQgb2YgdGhlIGluZGVwZWRlbnQgdmFyaWFibGUKClRoZSBzdGFnZ2VyZWQgb25zZXQgb2YgdGhlIGluZGVwZW5kZW50IHZhcmlhYmxlIGlzIHRoZSBtb3N0IHNpZ25hdHVyZSBmZWF0dXJlIG9mIHRoZSBNQkwgZGVzaWduLiBUaGUgc3RhZ2dlcmVkIG9uc2V0IGZlYXR1cmUgaXMgYWNoaWV2ZWQgYnkgZmlyc3QgZGVmaW5pbmcgYXQgbGVhc3QgdGhyZWUg4oCcZGF0YSBzZXJpZXMu4oCdIEEgZGF0YSBzZXJpZXMgaXMgYSBzZXQgb2YgcmVwZWF0ZWQgbWVhc3VyZW1lbnRzIChlLmcuLCB0aGUgcmF0ZSBvZiBzb2NpYWwgaW5pdGlhdGlvbnMgZm9yIGEgY2hpbGQgZWFjaCBkYXkpLiBEZWZpbmluZyB0aHJlZSBkYXRhIHNlcmllcyBjb3VsZCBiZSBhY2hpZXZlZCBieSBtZWFzdXJpbmcgdGhlIGRlcGVuZGVudCB2YXJpYWJsZSBhY3Jvc3MgZWFjaCBvZiB0aHJlZSBvciBtb3JlIHN0dWRlbnRzLiBUaGUgZGF0YSBmb3IgZWFjaCBzdHVkZW50IHdvdWxkIGVzdGFibGlzaCBhIGRhdGEgc2VyaWVzLiBUaHJlZSBvciBtb3JlIGRhdGEgc2VyaWVzIGNvdWxkIGFsc28sIGhvd2V2ZXIsIGJlIGNyZWF0ZWQgYnkgbW9uaXRvcmluZyB0aGUgYmVoYXZpb3Igb2Ygb25lIHN0dWRlbnQgaW4gdGhyZWUgb3IgbW9yZSBkaWZmZXJlbnQgcm91dGluZXMgKGUuZy4sIHNuYWNrLCBtb3JuaW5nIGNpcmNsZSwgc2NpZW5jZSB0aW1lLCBwbGF5IHRpbWUpLiBBbHNvLCBhIGRhdGEgc2VyaWVzIGNvdWxkIGJlIGFwcGxpZWQgdG8gZGlmZmVyZW50IGJlaGF2aW9ycyBtZWFzdXJlZCBmb3IgYSBzaW5nbGUgcGFydGljaXBhbnQgKGUuZy4sIGZvY3VzaW5nIG9uIGZhY2VzLCB0dXJuIHRha2luZywgam9pbnQgYXR0ZW50aW9uKS4gVGhlc2UgYXJlIGNhbGxlZCBNQkwgZGVzaWducyBhY3Jvc3MgcGFydGljaXBhbnRzLCBzZXR0aW5ncywgb3IgYmVoYXZpb3JzLCByZXNwZWN0aXZlbHkuIAoKKipRdWVzdGlvbjoqKiBUaGUgQUIgZGVzaWduIGluIHRoaXMgY2FzZSBpcyAqYWNyb3NzIHN1YmplY3RzKiAoc3R1ZGVudHMpOyBkb2VzIHRoYXQgbWVhbiB0aGVyZSBjYW4gYmUgQUIgZGVzaWducyBhY3Jvc3Mgb3RoZXIgZW50aXRpZXM/IEZvciBpbnN0YW5jZSwgYWNyb3NzIGRpZmZlcmVudCB0aW1lcyBpbiB0aGUgZGF5IGZvciAqb25lKiBzdWJqZWN0PyBBY3Jvc3MgZGlmZmVyZW50IGFzcGVjdHMgb2YgYmVoYXZpb3IgKGUuZy4sIGZyZXF1ZW5jeSwgb25zZXQsIGludGVuc2l0eSkgZm9yICpvbmUqIHN1YmplY3Q/CgpUaGUgaW50ZXJ2ZW50aW9uIHBvaW50cyB3ZXJlIHJhbmRvbWx5IGRldGVybWluZWQgd2l0aGluIGEgcHJlc2V0IHJhbmdlICgxLTgpIGZvciBlYWNoIHBhcnRpY2lwYW50LiAKCioqUXVlc3Rpb24gUV9NQkRfMjoqKiBXaHkgd2FzIHRoZSBsZW5ndGggb2YgdGhlIGJhc2VsaW5lIHJhbmRvbWx5IGNob3Nlbj8gCgpgYGB7cn0Kd3JpdGVMaW5lcyhRX01CRF8yKQpgYGAKCkxldCdzIGRvIHNvbWUgYW5hbHlzaXMgb24gdGhlIHNpeCBjYXNlczogCgpXZSBjYW4gcHV0IGFsbCBzaXggIGNhc2VzICBpbnRvIG9uZSB2ZWN0b3Igc28gdGhhdCB3ZSBjYW4gYXBwbHkgZnVuY3Rpb25zIHRvIGFsbCBjYXNlcyB3aGVuIHdlIG5lZWQgdGhhdC4gCgoqKlF1ZXN0aW9uIFFfTUJEXzM6KiogSG93IGRvIHlvdSBjcmVhdGUgdGhlIHZlY3RvciBgYWxsY2FzZXNgIGZyb20gdGhlIHNpeCBjYXNlcz8gCgpgYGB7ciBRX01CRF8zfQojIFlvdXIgYW5zd2VyCmBgYAoKYApgYGB7ciBRMSBhbnN3ZXJ9CndyaXRlTGluZXMoUV9NQkRfMykKYGBgCgoKU3RhdHMgZm9yIGFsbCBjYXNlczogCgoKYGBge3J9CmRlc2NyaWJlU0MoYWxsY2FzZXMpCmBgYAoKCkFuZCB3ZSBjYW4gbG9vayBhdCBwbG90cyBvZiBtdWx0aXBsZSBzdHVkZW50cyBpbiBvbmUgZ3JhcGgsIGxpa2UgdGhlIGZpcnN0IHRocmVlIHRoYXQgY29tZSBmcm9tIGEgbm9ybWFsIHNjaG9vbDoKCmBgYHtyfQpwbG90U0MoYyhBbm5hLCBCZWxsYSwgQ2hyaXN0aW5hKSkKYGBgCgoKKipRdWVzdGlvbjoqKiBIb3cgd291bGQgeW91IHByb2R1Y2UgYSBtdWx0aS1jYXNlIHBsb3QgZm9yIHRoZSB0aHJlZSBjYXNlcyBmcm9tIHRoZSBzcGVjaWFsIG5lZWRzIHNjaG9vbCAoRHVuYSwgRWdvciBhbmQgRmFiaWFuKT8gCgoKYGBge3J9CiMgY29kZSBoZXJlCmBgYAoKCgoKKipRdWVzdGlvbjoqKiBXaGF0IGRvIHlvdSBjb25jbHVkZSBmcm9tIGEgdmlzdWFsIGluc3BlY3Rpb24gYWNyb3NzIHRoZSBjYXNlcz8KCllvdXIgb2JzZXJ2YXRpb25zOiAKCmBgYAoKCmBgYAoKTW9yZSBvdmVybGFwIGluZGljZXM6CgpgYGB7cn0Kb3ZlcmxhcFNDKGFsbGNhc2VzKQpgYGAKCiMjIE92ZXJhbGwgZXZhbHVhdGlvbgoKKipRdWVzdGlvbjoqKiBXaGF0IGRvIHRoZSBkYXRhIHNob3cgcmVnYXJkaW5nIHRoZSBlZmZlY3RpdmVuZXNzIG9mIHRoZSBpbnRlcnZlbnRpb24/CgoKYGBgCllvdXIgZXZhbHVhdGlvbiAKCgpgYGAKClRoaXMgZW5kcyB0aGUgZGVzY3JpcHRpdmUgYW5hbHlzaXMgb2YgdGhlIHNpeCBjYXNlcy4gRm9yIG1vcmUgb24gc3RhdGlzdGljbGEgYW5hbHlzaXMgd2l0aCBTQ0FOLCBzZWUgdGhlIHBhcGVyIG1lbnRpb25lZCBhYm92ZS4gCg==