1. PREPARE

1a. Context

Social Support or Societal Tax? Mothers’ Motivations for Engaging

in Technology Use

Abstract

Parents of young children, and particularly mothers of young children, report low levels of social support. Social support can present as instrumental, emotional, appraisal, or informational. Greater social support has been linked with improved maternal health and more favorable child development outcomes. Healthcare providers, teachers, and counselors all comprise parents’ support systems, often sharing resources and information to enhance family wellbeing. Technology can offer a means of gathering social support. Yet some evidence suggests that the infiltration of technology into modern life has contributed a widening gender pay gap, among other factors that may worsen conditions for mothers. Thus, better understanding the role of technology in mothers’ lives–and particularly its role in either providing or degrading social support–can improve service delivery to families of young children.

Data Source & Analysis

I conducted a search on the ProQuest Central database using the following criteria: - Last 5 years - Search terms: mother (abstract), technology (abstract), motivation (anywhere), “social support” (anywhere) - English language - Peer-reviewed journal article - Open access

The initial search returned over 2000 results, with results presented in order of relevance.

I reviewed article titles and determined that, after approximately citation 1000, the articles became less relevant to research questions. Thus, I retained the first 1000 abstracts from the search results and will analyze them via topic modeling.

1b. Guiding Questions

My research questions are as follows:

  1. What motivates mothers to engage with or avoid technology?
  2. How do mothers perceive that technology either enhances or detracts from their systems of social support?
  3. Do motivations surrounding technology use include reasons specific to mothers of children with disabilities?

In this exercise, topic modeling will be used to gain a better understanding of themes present in published, peer-reviewed literature published in the last five years surround the topic of mothers’ motivations for engaging (or not) with technology–and more specifically, how technology is used to foster social support.

1c. Set Up

To set up, I created a new prject within RStudio. I installed the necessary packages and loaded them into my library I also did a little cleaning of the csv file downloaded from ProQuest, removing odd characters

## Warning: package 'tidyverse' was built under R version 4.0.5
## Warning: package 'ggplot2' was built under R version 4.0.5
## Warning: package 'tibble' was built under R version 4.0.5
## Warning: package 'tidyr' was built under R version 4.0.5
## Warning: package 'readr' was built under R version 4.0.5
## Warning: package 'purrr' was built under R version 4.0.5
## Warning: package 'dplyr' was built under R version 4.0.5
## Warning: package 'stringr' was built under R version 4.0.5
## Warning: package 'forcats' was built under R version 4.0.5
## Warning: package 'tidytext' was built under R version 4.0.5
## Warning: package 'topicmodels' was built under R version 4.0.5
## Warning: package 'stm' was built under R version 4.0.5
## Warning: package 'ldatuning' was built under R version 4.0.5
## Warning: package 'knitr' was built under R version 4.0.5
## Warning: package 'LDAvis' was built under R version 4.0.5
## Warning: package 'devtools' was built under R version 4.0.5
## Warning: package 'usethis' was built under R version 4.0.5

2. WRANGLE

2a. Import Forum Data

## Rows: 999 Columns: 2
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (2): Title, Abstract
## 
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.

Since I am primarily interested in the content of the abstracts, this is a simple csv file with only two columns, consisting of the abstract text and the title of the article.

2b. Cast a Document Term Matrix

In this section I’ll tidy and tokenize the text. Then, I’ll use functions from the stm package to process the text and transform my data frames into new data structures required for topic modeling.

Functions Used

tidytext functions

  • unnest_tokens() splits a column into tokens
  • anti_join() returns all rows from x without a match in y and used to remove stop words from out data.
  • cast_dtm() takes a tidied data frame take and “casts” it into a document-term matrix (dtm)

dplyr functions

  • count() lets you quickly count the unique values of one or more variables
  • group_by() takes a data frame and one or more variables to group by
  • summarise() creates a summary of data using arguments like sum and mean

stm functions

  • textProcessor() takes in a vector or column of raw texts and performs text processing like removing punctuation and word stemming.
  • prepDocuments() performs several corpus manipulations including removing words and renumbering word indices

Tidying Text

Prior to topic modeling, we have a few remaining steps to tidy our text that hopefully should feel familiar by this point. If you recall from Chapter 1 of Text Mining With R, these preprocessing steps include:

  1. Transforming our text into “tokens”
  2. Removing unnecessary characters, punctuation, and whitespace
  3. Converting all text to lowercase
  4. Removing stop words such as “the”, “of”, and “to”

Let’s tokenize our forum text and by using the familiar unnest_tokens() and remove stop words per usual:

## # A tibble: 115,554 x 2
##    Title                                                                   word 
##    <chr>                                                                   <chr>
##  1 The Role of Pet Companionship in Online and Offline Social Interaction~ adol~
##  2 The Role of Pet Companionship in Online and Offline Social Interaction~ prime
##  3 The Role of Pet Companionship in Online and Offline Social Interaction~ deve~
##  4 The Role of Pet Companionship in Online and Offline Social Interaction~ peri~
##  5 The Role of Pet Companionship in Online and Offline Social Interaction~ expl~
##  6 The Role of Pet Companionship in Online and Offline Social Interaction~ human
##  7 The Role of Pet Companionship in Online and Offline Social Interaction~ pet  
##  8 The Role of Pet Companionship in Online and Offline Social Interaction~ rela~
##  9 The Role of Pet Companionship in Online and Offline Social Interaction~ soci~
## 10 The Role of Pet Companionship in Online and Offline Social Interaction~ comp~
## # ... with 115,544 more rows

Now let’s do a quick word count to see some of the most common words used throughout the forums. This should get a sense of what we’re working with and later we’ll need these word counts for creating our document term matrix for topic modeling:

## # A tibble: 14,547 x 2
##    word         n
##    <chr>    <int>
##  1 social    1147
##  2 study     1001
##  3 health     651
##  4 research   627
##  5 smoking    502
##  6 data       454
##  7 students   449
##  8 based      446
##  9 support    441
## 10 women      389
## # ... with 14,537 more rows

“Social” is the most common word. “Health” is the fourth most common word, followed by “support”. It might be worth exploring some of the posts with “social” and “support”

I’m also interested in “health” (4th most common word), “technology” , “media”, and “education” and “learning” (all of which are in the top 20 most common words)

## # A tibble: 10 x 1
##    Abstract                                                                     
##    <chr>                                                                        
##  1 Background: Many teenagers in the United States experience challenges with s~
##  2 This study examined the factors that influenced Iranian teachers' use of com~
##  3 Technology adoption for school education further gained momentum during the ~
##  4 This study aims to reveal the Turkish language teacher candidates' opinions ~
##  5 PurposeRapid advancement of data science has disrupted both business and emp~
##  6 BackgroundCountries around the world have struggled to implement education p~
##  7 In this research paper, the authors analyse the collected data output during~
##  8 Advancements in machine learning have recently enabled the hyper-realistic s~
##  9 This study explored factors inspiring female university students in Saudi Ar~
## 10 The flipped classroom model has been used by a number of the teachers for ac~

Scanning these, it seems that athere’s a fair amount about schools and some about assistive technology being used for educational purposes. However, I don’t see a lot about mothers. Next I want to look at social support.

## # A tibble: 10 x 1
##    Abstract                                                                     
##    <chr>                                                                        
##  1 This research explored what a charity can do through their Facebook communic~
##  2 The pandemic caused by the spread of Covid-19 is giving rise to an exception~
##  3 Social cognitive career theory (SCCT), which is the framework this study and~
##  4 Adolescence is a prime developmental period to explore human-pet relationshi~
##  5 Background: The use of online communities to promote end user involvement an~
##  6 The main aim of the study was to explore the relationship between life satis~
##  7 The present study evaluated the effects of online training on educators' kno~
##  8 The formation of social entrepreneurial intention (SEI) is a topic that attr~
##  9 Individuals with severe mental illness have a significant risk of (anticipat~
## 10 Autonomous exploration should be considered in the creation of healthy envir~

These do seem a bit more relevant…I’m seeing some mentions of parents, families, and mothers. As a last peek, I am going to look at “media”. I hypothesize that this will have a lot to do with social media, but we shall see…

## # A tibble: 10 x 1
##    Abstract                                                                     
##    <chr>                                                                        
##  1 Interventions training parents of at-risk children have received considerabl~
##  2 PurposeMultimodal composing is often romanticized as a flexible approach sui~
##  3 The current study used a bioecological framework to examine three moderated-~
##  4 Existing empirical evidence identifies the existence of vague processes (bla~
##  5 Existing research has shown that adverse childhood experiences from family i~
##  6 Face-to-face (F2F) embodied interaction is the initial ingredient of interac~
##  7 This study uses a randomized controlled trial (RCT) to evaluate the effectiv~
##  8 Objective:In poorer communities, smoking has demonstrated as an indicator of~
##  9 The present study aimed to explore using popular technology that people alre~
## 10 Despite efforts to increase female representation in science, technology, en~

Social media does factor prominently in these quotes.

Creating a Document Term Matrix

To create my document term matrix, I’ll need to first count() how many times each word occurs in each document, or abstract, and create a matrix that contains one row per post as our original data frame did, but now contains a column for each word in the entire corpus and a value of n for how many times that word occurs in each post.

To create this document term matrix from our post counts, we’ll use the cast_dtm() function like so and assign it to the variable forums_dtm:

## Warning: package 'tm' was built under R version 4.0.5
## Loading required package: NLP
## 
## Attaching package: 'NLP'
## The following object is masked from 'package:ggplot2':
## 
##     annotate

2c. To Stem or not to Stem?

Processing and Stemming for STM

Like unnest_tokens(), the textProcessor() function includes several useful arguments for processing text like converting text to lowercase and removing punctuation and numbers. I’ve included several of these in the script below along with their defaults used if you do not explicitly specify in your function.

## Building corpus... 
## Converting to Lower Case... 
## Removing punctuation... 
## Removing stopwords... 
## Removing numbers... 
## Stemming... 
## Creating Output...

Note that the first argument the textProcessor function expects is the column in our data frame that contains the text to be processed, the second argument metadata = expects the data frame that contains the text of interest and uses the column names to label the metadata such as course ids and forum names. This meatdata can be used to to improve the assignment of words to topics in a corpus and examine the relationship between topics and various covariates of interest.

Unlike the unnest_tokens() function, the output is not a nice tidy data frame. Topic modeling using the stm package requires a very unique set of inputs that are specific to the package. The following code will pull elements from the temp list that was created that will be required for the stm() function we’ll use in Section 4:

Stemming Tidy Text

Notice that the textProcessor stem argument used above is set to TRUE by default.

For now, I’ll leave as it is in the abstracts_dtm created earlier.

If we wanted to stem words in a “tidy” way, one approach would be to use the wordStem() function from the snowballC package to either replace the words column with a word stems or create a new variable called stem with our stemmed words. Below I’ll do the latter and take a look at the original words and the stem that was produced:

## # A tibble: 115,554 x 3
##    Title                                                             word  stem 
##    <chr>                                                             <chr> <chr>
##  1 The Role of Pet Companionship in Online and Offline Social Inter~ adol~ adol~
##  2 The Role of Pet Companionship in Online and Offline Social Inter~ prime prime
##  3 The Role of Pet Companionship in Online and Offline Social Inter~ deve~ deve~
##  4 The Role of Pet Companionship in Online and Offline Social Inter~ peri~ peri~
##  5 The Role of Pet Companionship in Online and Offline Social Inter~ expl~ expl~
##  6 The Role of Pet Companionship in Online and Offline Social Inter~ human human
##  7 The Role of Pet Companionship in Online and Offline Social Inter~ pet   pet  
##  8 The Role of Pet Companionship in Online and Offline Social Inter~ rela~ rela~
##  9 The Role of Pet Companionship in Online and Offline Social Inter~ soci~ soci~
## 10 The Role of Pet Companionship in Online and Offline Social Inter~ comp~ comp~
## # ... with 115,544 more rows

3. MODEL

3a. Fitting a Topic Modeling with LDA

I’m going to stick with k=20 value from the Week 6 Walkthough. This is pretty arbitrary, but I don’t have a nice forum-topic category to help me sort. There are about 1000 abstracts and several hundred separate journals, and both of those numbers seem way too large for a value of k.

## A LDA_VEM topic model with 20 topics.

I used the control = argument to pass a random number (588) to seed the assignment of topics to each word in our corpus. Since LDA is a stochastic algorithm that could have different results depending on where the algorithm starts, I specified a seed for reproducibility. In other words, I’ll see the same results every time I specify the same number of topics.

3b. Fitting a Structural Topic Model

The stm Package

Before I fit my model, I’ll have to extract the elements from the temp object created after I processed the text. Specifically, the stm() function expects the following arguments:

  • documents = the document term matrix to be modeled in the native stm format
  • data = an optional data frame containing meta data for the prevalence and/or content covariates to include in the model
  • vocab = a character vector specifying the words in the corpus in the order of the vocab indices in documents.

I’ll extract these elements:

And then use these elements to fit the model using the same number of topics for K that I specified for my LDA topic model.

## Beginning Spectral Initialization 
##   Calculating the gram matrix...
##   Using only 10000 most frequent terms during initialization...
##   Finding anchor words...
##      ....................
##   Recovering initialization...
##      ....................................................................................................
## Initialization complete.
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 1 (approx. per word bound = -7.444) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 2 (approx. per word bound = -6.889, relative change = 7.463e-02) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 3 (approx. per word bound = -6.851, relative change = 5.379e-03) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 4 (approx. per word bound = -6.844, relative change = 1.126e-03) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 5 (approx. per word bound = -6.841, relative change = 4.599e-04) 
## Topic 1: state, law, campaign, social, support 
##  Topic 2: parent, educ, studi, use, children 
##  Topic 3: program, studi, particip, support, use 
##  Topic 4: system, respons, emerg, research, condit 
##  Topic 5: women, studi, gender, social, manag 
##  Topic 6: student, studi, use, school, learn 
##  Topic 7: articl, mother, communiti, studi, book 
##  Topic 8: work, well-, polici, social, famili 
##  Topic 9: smoke, tobacco, cessat, use, smoker 
##  Topic 10: motiv, entrepreneurship, studi, busi, research 
##  Topic 11: children, parent, use, research, child 
##  Topic 12: femal, male, adolesc, level, studi 
##  Topic 13: use, result, conflict, studi, test 
##  Topic 14: social, adult, experi, use, care 
##  Topic 15: innov, employe, team, relationship, csr 
##  Topic 16: health, care, servic, use, group 
##  Topic 17: social, media, use, inform, interact 
##  Topic 18: relationship, partner, women, famili, support 
##  Topic 19: intervent, health, effect, studi, use 
##  Topic 20: social, propos, design, contact, vulner 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 6 (approx. per word bound = -6.839, relative change = 2.343e-04) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 7 (approx. per word bound = -6.838, relative change = 1.560e-04) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 8 (approx. per word bound = -6.837, relative change = 1.254e-04) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 9 (approx. per word bound = -6.837, relative change = 8.487e-05) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 10 (approx. per word bound = -6.836, relative change = 7.392e-05) 
## Topic 1: state, law, campaign, support, social 
##  Topic 2: educ, parent, studi, use, children 
##  Topic 3: program, studi, particip, support, use 
##  Topic 4: system, respons, emerg, research, condit 
##  Topic 5: women, studi, gender, social, manag 
##  Topic 6: student, studi, use, learn, school 
##  Topic 7: mother, articl, communiti, studi, user 
##  Topic 8: work, well-, polici, famili, social 
##  Topic 9: smoke, tobacco, cessat, use, smoker 
##  Topic 10: motiv, entrepreneurship, studi, busi, research 
##  Topic 11: children, parent, use, child, research 
##  Topic 12: femal, adolesc, male, activ, level 
##  Topic 13: use, conflict, result, studi, relationship 
##  Topic 14: technolog, use, social, adult, care 
##  Topic 15: innov, employe, team, relationship, csr 
##  Topic 16: health, care, servic, mental, use 
##  Topic 17: social, media, use, inform, onlin 
##  Topic 18: relationship, partner, women, violenc, famili 
##  Topic 19: intervent, health, effect, studi, use 
##  Topic 20: design, social, communiti, paper, experi 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 11 (approx. per word bound = -6.836, relative change = 7.333e-05) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 12 (approx. per word bound = -6.835, relative change = 8.394e-05) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 13 (approx. per word bound = -6.834, relative change = 9.209e-05) 
## ..........................................................................................................
## Completed E-Step (2 seconds). 
## Completed M-Step. 
## Completing Iteration 14 (approx. per word bound = -6.834, relative change = 9.503e-05) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 15 (approx. per word bound = -6.833, relative change = 9.592e-05) 
## Topic 1: state, law, campaign, support, univers 
##  Topic 2: educ, parent, studi, children, use 
##  Topic 3: program, particip, studi, youth, support 
##  Topic 4: system, respons, emerg, research, condit 
##  Topic 5: women, studi, gender, social, manag 
##  Topic 6: student, studi, learn, use, school 
##  Topic 7: mother, articl, communiti, studi, user 
##  Topic 8: work, well-, polici, famili, studi 
##  Topic 9: smoke, tobacco, cessat, use, smoker 
##  Topic 10: motiv, entrepreneurship, busi, studi, research 
##  Topic 11: children, parent, use, child, famili 
##  Topic 12: femal, adolesc, activ, male, level 
##  Topic 13: use, conflict, result, studi, relationship 
##  Topic 14: technolog, use, adult, care, social 
##  Topic 15: innov, employe, team, relationship, csr 
##  Topic 16: health, care, mental, servic, use 
##  Topic 17: social, media, use, inform, onlin 
##  Topic 18: relationship, caregiv, partner, violenc, women 
##  Topic 19: intervent, health, effect, studi, group 
##  Topic 20: design, communiti, social, paper, challeng 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 16 (approx. per word bound = -6.832, relative change = 9.321e-05) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 17 (approx. per word bound = -6.832, relative change = 9.641e-05) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Completing Iteration 18 (approx. per word bound = -6.831, relative change = 9.152e-05) 
## ..........................................................................................................
## Completed E-Step (1 seconds). 
## Completed M-Step. 
## Model Converged
## A topic model with 20 topics, 961 documents and a 10528 word dictionary.

The stm package has a number of handy features. One of these is the plot.STM() function for viewing the most probable words assigned to each topic. By default, it only shows the first 3 terms so I’ll change that to 5 to help with interpretation:

Note that you can also just use plot() as well:

Many of these findings seem intuitively “right” to me. For example, Topic 17 seems to be about social media use and its role in providing information (a type of social support). Topic 6 and Topic 2 seem to be about educational uses of technology. Topic 5 seems to center around gender identity. Topic 8 seems to refer to work policies while topic 1 may refer to policies on a state and national scale. Topic 16, and to a lesser degree 19 and 7, seem to be related to healthcare and, possibly, health-related research. Topic 18 seems to be about the caregiving role, partners, and violence.

Some interesting trends are Topic 9, which seems heavily weighted toward smoking cessation programs. This leads me to wonder whether caregivers or mothers in particular are using smoking as a coping strategy. On a more positive note, Topic 10 seems to be about entrepreneurship and business endeavors, suggesting that perhaps mothers use technology to further their entrepreneurial or career endeavors.

3c. Finding K

There are several approaches to estimating a value for K. I’ll try one from the ldatuning package and one from our stm package.

The FindTopicsNumber Function

The ldatuning package has functions for both calculating and plotting different metrics that can be used to estimate the most preferable number of topics for LDA model. It also conveniently takes the standard document term matrix object that we created from out tidy text and has the added benefit of running fairly quickly, especially compared to the function for finding K from the stm package.

Let’s use the defaults specified in the ?FindTopicNumber documentation and modify slightly get metrics for a sequence of topics from 10-75 counting by 5 and plot the output we saved using the FindTopicsNumber_plot() function:

This seems to indicate that 25 may be a more appropriate value for k.

The LDAvis Explorer

One final tool that I want to introduce from the stm package is the toLDAvis() function which provides a great visualizations for exploring topic and word distributions using LDAvis topic browser:

## Loading required namespace: servr

The current stm model of 20 topics is resulting in some overlap among topics and suggests that 20 may not be an optimal number of topics. This is interesting, since previous analysis suggested 25 may actually be the optimal value of k.

4. EXPLORE

Silge and Robinson (2018) note that fitting at topic model is the “easy part.” The hard part is making sense of the model results and that the rest of the analysis involves exploring and interpreting the model using a variety of approaches which I’ll explore below.

4a. Exploring Beta Values

Hidden within this abstracts_lda topic model object I created are per-topic-per-word probabilities, called β (“beta”). It is the probability of a term (word) belonging to a topic. 

I’ll take a look at the 5 most likely terms assigned to each topic, i.e. those with the largest β values using the terms() function from the topicmodels package:

##      Topic 1  Topic 2    Topic 3    Topic 4    Topic 5            Topic 6   
## [1,] "health" "covid"    "children" "health"   "entrepreneurship" "research"
## [2,] "care"   "19"       "reading"  "social"   "women"            "social"  
## [3,] "hiv"    "pandemic" "study"    "digital"  "social"           "health"  
## [4,] "social" "study"    "systems"  NA         "study"            "students"
## [5,] "people" "women"    "parents"  "services" "entrepreneurs"    "support" 
##      Topic 7     Topic 8    Topic 9      Topic 10     Topic 11       
## [1,] "smoking"   "social"   "support"    "tobacco"    "social"       
## [2,] "cessation" "study"    "innovation" "smoking"    "media"        
## [3,] "program"   "support"  "activity"   "cigarette"  "communication"
## [4,] "smokers"   "family"   "smoking"    "cigarettes" "digital"      
## [5,] "cancer"    "research" "physical"   "smokers"    "information"  
##      Topic 12   Topic 13      Topic 14       Topic 15   Topic 16   Topic 17    
## [1,] "social"   "social"      "health"       "students" "social"   "parents"   
## [2,] "research" "study"       "asd"          "study"    "health"   "study"     
## [3,] "data"     "research"    "intervention" "learning" "study"    "stem"      
## [4,] "study"    "findings"    "mental"       "smoking"  "women"    "students"  
## [5,] "studies"  "performance" "depression"   "school"   "research" "technology"
##      Topic 18     Topic 19       Topic 20   
## [1,] "social"     "health"       "youth"    
## [2,] "technology" "study"        "family"   
## [3,] "study"      "intervention" "health"   
## [4,] "human"      "mobile"       "community"
## [5,] "online"     "mothers"      "social"

There seem to be some differences between the topics identified here and what previous analysis suggested. I’m still seeing topics related to smoking, entrepreneurship, healthcare and healthcare research. However, the topic related to state and national policy isn’t showing up here, nor is the topic related to partners.

It is clear, however, that three specific topics related to health have prominence: HIV, smoking cessation, and ASD (in topic 14). ASD" relates to one of my research questions. Specifically, it seems that there is some relationship between mothers, support, technology, motivation, and autism spectrum disorders. This makes some sense. Autism is primarily a communication disorder, which can have implications for social interaction and behavior. Parents with autism may experience more isolation than other parents of kids with disabilities due to the behavioral issues that can be associated with ASD. That may prompt them to seek social support (emotional and other) online.

That’s just a hunch, though. I would need to sift through the actual content of the abstracts to understand better.

Using the tidytext package’s tidy() function, I’ll convert the lda model to a tidy data frame containing these beta values for each term:

## # A tibble: 290,940 x 3
##    topic term       beta
##    <int> <chr>     <dbl>
##  1     1 1997  3.54e-191
##  2     2 1997  2.85e-191
##  3     3 1997  1.25e-163
##  4     4 1997  7.30e-191
##  5     5 1997  1.55e-164
##  6     6 1997  3.36e-  4
##  7     7 1997  2.22e-191
##  8     8 1997  3.59e-191
##  9     9 1997  1.68e-190
## 10    10 1997  3.17e-191
## # ... with 290,930 more rows

Obviously, it’s not very easy to interpret what the topics are about from a data frame like this so I’ll borrow code again from Chapter 8.4.3 Interpreting the topic model in Text Mining with R to examine the top 5 terms for each topic and then look at this information visually:

4b. Exploring Gamma Values

Now that I have a sense of the most common words associated with each topic, I’ll take a look at the topic prevalence in the abstracts corpus, including the words that contribute to each topic I examined above.

Also, hidden within the abstracts_lda topic model object we created are per-document-per-topic probabilities, called γ (“gamma”). This provides the probabilities that each document is generated from each topic, that gamma matrix. I can combine the beta and gamma values to understand the topic prevalence in the corpus, and which words contribute to each topic.

To do this, I’m going to borrow some code from the Silge (2018) post, Training, evaluating, and interpreting topic models.

First, I’ll create two tidy data frames for the beta and gamma values

## # A tibble: 290,940 x 3
##    topic term       beta
##    <int> <chr>     <dbl>
##  1     1 1997  3.54e-191
##  2     2 1997  2.85e-191
##  3     3 1997  1.25e-163
##  4     4 1997  7.30e-191
##  5     5 1997  1.55e-164
##  6     6 1997  3.36e-  4
##  7     7 1997  2.22e-191
##  8     8 1997  3.59e-191
##  9     9 1997  1.68e-190
## 10    10 1997  3.17e-191
## # ... with 290,930 more rows
## # A tibble: 19,700 x 3
##    document                                                        topic   gamma
##    <chr>                                                           <int>   <dbl>
##  1 "\"It was Akiko 41; it was me\": Queer Kinships in Nora Okja K~     1 2.43e-4
##  2 "\"Like Coming Home\": African Americans Tinkering and Playing~     1 4.32e-4
##  3 "\"Stop going in my room\": A grounded theory study of conflic~     1 1.11e-4
##  4 "\"The Irons Are Always in the Background\": The Unconstitutio~     1 3.82e-5
##  5 "#Healthy: smart digital food safety and nutrition communicati~     1 1.39e-4
##  6 "#LancerHealth: Using Twitter and Instagram as a tool in a cam~     1 1.84e-4
##  7 "#NicotineAddictionCheck: Puff Bar Culture, Addiction Apathy, ~     1 1.15e-4
##  8 "#Purge: geovigilantism and geographic information ethics for ~     1 1.03e-4
##  9 "‘It Depends': Technology Use by Parent and Family Educators i~     1 1.17e-4
## 10 "‘Life after Death   the Dead shall Teach the Living': a Quali~     1 1.10e-4
## # ... with 19,690 more rows

Next, I’ll adopt Julia’s code wholesale to create a filtered data frame of our top_terms, join this to a new data frame for gamma-terms and create a nice clean table using the kabel() function from the knitr package:

## Warning: `cols` is now required when using unnest().
## Please use `cols = c(terms)`
Topic Expected topic proportion Top 7 terms
Topic 5 0.083 entrepreneurship, women, social, study, entrepreneurs, entrepreneurial, business
Topic 4 0.065 health, social, digital, NA, services, healthcare, study
Topic 17 0.062 parents, study, stem, students, technology, career, children
Topic 6 0.060 research, social, health, students, support, provide, experiences
Topic 18 0.056 social, technology, study, human, online, learning, media
Topic 15 0.055 students, study, learning, smoking, school, teachers, motivation
Topic 12 0.054 social, research, data, study, studies, based, risk
Topic 13 0.052 social, study, research, findings, performance, results, learning
Topic 20 0.049 youth, family, health, community, social, performance, study
Topic 11 0.048 social, media, communication, digital, information, research, online
Topic 14 0.048 health, asd, intervention, mental, depression, parents, care
Topic 16 0.047 social, health, study, women, research, review, digital
Topic 2 0.045 covid, 19, pandemic, study, women, children, social
Topic 8 0.045 social, study, support, family, research, analysis, women
Topic 7 0.042 smoking, cessation, program, smokers, cancer, patients, study
Topic 1 0.042 health, care, hiv, social, people, support, factors
Topic 10 0.040 tobacco, smoking, cigarette, cigarettes, smokers, control, users
Topic 3 0.040 children, reading, study, systems, parents, social, mothers
Topic 19 0.037 health, study, intervention, mobile, mothers, care, maternal
Topic 9 0.031 support, innovation, activity, smoking, physical, studies, analysis

I’ll also compare this to the most prevalent topics and terms from our forums_stm model created using the plot() function:

4c. Reading the Tea Leaves

Recognizing that topic modeling is best used as a “tool for reading” and provides only an incomplete answer to our overarching, “How do we quantify what a corpus is about?”, the results do suggest some potential topics that have emerge, as well as some areas worth following up on.

Specifically, looking at some of the common clusters of words for the more prevalent topics suggest that some key topics or “latent themes” (renamed in bold) might include:

  • Entrepreneurship: I was pleasantly surprised to see this topic emerge. It seems to indicate that mothers see a relationship between technology and their careers, specifically in the realm of entrepreneurship. I’d like to investigate this topic further
  • The Dang Pandemic: Covid-19 is surely the guest that has the world record for overstaying its welcome. Not surprisingly, it’s a prevalent topic in the corpus, and seems to be linked with school and education. This is not really surprising, as other literature suggests that mothers were disproportionately the ones facilitating online learning during the darkest days of the pandemic.
  • Education Education also surfaces more broadly. There are mentions of online learning, STEM, reading, and other topics related to teaching, learning and schools.
  • Health - ASD A significant portion of the corpus is related to health, healthcare, and health-related research. Specific health topics center around smoking/smoking cessation (with some mention of physical activity), HIV/AIDS, and autism spectrum disorders. THis latter topic is interesting because it directly relates to one of my research questions and appeared regardless of the fact that my initial search for abstracts did not include any terms related to autism or special needs. Beyond this, the top terms suggest that mothers of children with ASD are primarily seeking emotional support, indicated by terms such as “depression” and “mental”. More investigation, however, is needed to confirm this.
  • Social Media & Digital Communication This topic may indicate that technology is used largely as a form of social connection and communication.

To serve as a check on my tea leaf reading, I’m going to follow Bail’s recommendation to examine some of these topics qualitatively. The stm package has another useful function though exceptionally fussy function called findThoughts which extracts passages from documents within the corpus associate with topics that you specify.

The first line of code may not be necessary for your independent analysis, but because the textProcessor() function removed several documents during processing, the findthoughts() function can’t properly index the processed docs. This line of code found on stackoverflow removes documents from original abstracts_data source that were removed during processing so there is a one-to-one correspondence with abstracts_stm and so you can use the function to find posts associated with a given topic.

Let’s slightly reduce our original data set to match our STM model, pass both to the findThoughts() function, and set our arguments to return n = 10 posts from topics = 14 (i.e. Topic 14) that have at least 50% or thresh = 0.5 as a minimum threshold for the estimated topic proportion.

## 
##  Topic 14: 
##       ObjectiveTo describe the perspectives on life participation by young adults with childhood-onset chronic kidney disease (CKD).DesignSemi-structured interviews; thematic analysis.SettingMultiple centres across six countries (Australia, Canada, India, UK, USA and New Zealand).ParticipantsThirty young adults aged 18 to 35 years diagnosed with CKD during childhood.ResultsWe identified six themes: struggling with daily restrictions (debilitating symptoms and side effects, giving up valued activities, impossible to attend school and work, trapped in a medicalised life, overprotected by adults and cautious to avoid health risks); lagging and falling behind (delayed independence, failing to keep up with peers and socially inept); defeated and hopeless (incapacitated by worry, an uncertain and bleak future, unworthy of relationships and low self-esteem and shame); reorienting plans and goals (focussing on the day-to-day, planning parenthood and forward and flexible planning); immersing oneself in normal activities (refusing to miss out, finding enjoyment, determined to do what peers do and being present at social events); and striving to reach potential and seizing opportunities (encouragement from others, motivated by the illness, establishing new career goals and grateful for opportunities).ConclusionsYoung adults encounter lifestyle limitations and missed school and social opportunities as a consequence of developing CKD during childhood and as a consequence lack confidence and social skills, are uncertain of the future, and feel vulnerable. Some re-adjust their goals and become more determined to participate in ‘normal' activities to avoid missing out. Strategies are needed to improve life participation in young adult ‘graduates' of childhood CKD and thereby strengthen their mental and social well-being and enhance their overall health.
##      Background: People living with HIV are living longer in the United States as a result of antiretroviral therapy. Black men who have sex with men (MSM) are disproportionally affected by HIV and have low rates of engagement in HIV care and treatment. Mobile technology holds promise as an intervention platform; however, little is known regarding its use among older black MSM living with HIV.Objective: The goal of this study was to explore mobile technology use and narratives of aging with HIV among older black MSM to inform mobile health intervention development.Methods: A total of 12 black MSM living with HIV, aged 50 years or older, completed in-person, semistructured interviews exploring the issues of aging, HIV care engagement, and mobile technology use. The interviews were audiotaped, transcribed, and analyzed using qualitative research methods.Results: Men appreciated having survived the AIDS epidemic, but some expressed discomfort and ambivalence toward aging. Men described various levels of engagement in HIV care and treatment; challenges included social isolation and need for support that was not focused on HIV. Almost all described using mobile technology to engage in health care, whereas some referenced important barriers and challenges to technology use.Conclusions: Findings highlighted a high level of interest toward a mobile technology based intervention targeting older black men but also identified barriers and challenges to using mobile technology for health care engagement. Mobile technology is well incorporated into older black MSM's lives and shows potential as an intervention platform for addressing aging issues to enhance engagement in HIV care and treatment.
##      Brand posts are concise and recurrent updates created by brands and sent out to their followers on social media. Brand posts play a crucial linking role by connecting brands to their customers and fans on a daily basis. Brand posts represent a rich form of communication that convey various brand meaning and experiences using multiple media formats. Despite this, however, brand posts have not been subjected to formalized analyses in the literature. Accordingly, the purpose of this study is to conduct a formalized analysis of brand posts and propose a systematic framework to categorize them. With this aim, the study performed qualitative content analysis involving three interrelated coding procedures. First, the study reviewed the relevant literature to identify pre-existing coding categories (deductive coding). Second, the study drew together systematic inferences from a purposive sample of brand posts (n = 371) to derive new coding categories (inductive coding). Finally, the study implemented a double-coding procedure on a probabilistic sample of brand posts (n = 249) to validate the initial coding categories (validation coding). Together, the three coding procedures produced 12 exhaustive and mutually exclusive categories of brand posts. The proposed categorization offers a comprehensive framework to think about brand posts. For marketers, it provides guidance to create the stream of content necessary to stimulate daily customer interaction on social media. For researchers, it offers a solid conceptual foundation to categorize, code and model brand posts.
##      Befarmaeed Sham, an Iranian diasporic media production adapted from the original UK reality show “Come Dine with me” features Iranian diaspora of diverse backgrounds as contestants in a cooking reality show. The success of the show has been unprecedented among audiences back home in Iran, reaching millions of households. Using discourse analysis this article examines the potential of reality TV in widening the scope of public sphere and in providing a space for participation and representation. The key practices to illustrate this are ways diaspora position themselves as subjects through discursive practices to express agency in generating, participating and sharing opinions. Casual talk and the entertaining attribute of reality TV focused on the everyday life of ordinary people, constructs a space to normalize audience engagement with what is otherwise, restrictive taboo topics embedded in themes around belonging, homeland, gender, and identity. The article concludes that the broad system of discourse used by diaspora as participants in the reality show constructs a space for representation. It can be considered as a contribution to enhancing the public sphere to not only communicate and connect with their homeland but to express opinions on broader social issues as a practice of civic engagement. This unique adaptation of reality TV is an important aspect of globalization and in using new media to mobilize diaspora in connecting to homeland.
##      Passive monitoring technology is beginning to be reimbursed by third-party payers in the United States of America. Given the low voluntary uptake of these technologies on the market, it is important to understand the concerns and perspectives of users, former users and non-users. In this paper, the range of ways older adults relate to passive monitoring in low-income independent-living residences is presented. This includes experiences of adoption, non-adoption, discontinuation and creative 'misuse'. The analysis of interviews reveals three key insights. First, assumptions built into the technology about how older adults live present a problem for many users who experience unwanted disruptions and threats to their behavioural autonomy. Second, resident response is varied and challenges the dominant image of residents as passive subjects of a passive monitoring system. Third, the priorities of older adults (e.g. safety, autonomy, privacy, control, contact) are more diverse and multi-faceted than those of the housing organisation staff and family members (e.g. safety, efficiency) who drive the passive monitoring intervention. The tension between needs, desires and the daily lives of older adults and the technological solutions offered to them is made visible by their active responses, including resistance to them. This exposes the active and meaningful qualities of older adults' decisions and practices.
##      This study aimed to classify and delineate types of user-generated content about the disposable e-cigarette Puff Bar shared on the popular video-based social media platform TikTok. We qualitatively analyzed 148 popular TikTok videos collected in July 2020. During an iterative process of data reduction and thematic analysis, we categorized videos by overarching genres and identified emergent themes. Young adults were engaged at all stages of the research process. Together, videos were viewed over 137 million times on TikTok. Seven genres of Puff Bar content emerged: skits and stories, shared vaper experiences, videos to show off, product reviews, product unboxing, promotion of Puff Bar, and crafts. Videos depicted Puff Bar users' apathy about addiction and a lack of concern of the health effects of e-cigarette use. Additionally, Puff Bar promotion content from underground retailers was extensive and some targeted underage persons. Qualitative analysis of social media content can richly describe emerging online culture and illuminate the motivations of adolescent and young adult e-cigarette use. Social media can facilitate new product adoption; comprehensive e-cigarette regulation and enforcement can counteract these effects by closing loopholes through which new products emerge.
##      In some international settings, social workers are employed within aged care settings. However, in Australia, social workers rarely work in residential aged care facilities. In an innovative program, an Australian health network employed a social worker in an aged residential care facility from 2010 to 2011. In this research we examine and evaluate this program. Qualitative semistructured interviews with nine key stakeholders and data extraction from medical records were conducted. Data from medical records and interview transcripts were coded and themes extracted using thematic analysis. Thematic analysis identified five key themes reflecting the roles performed by the social worker. These were: (1) The importance of having an independent third party, (2) The provision of emotional support to residents, carers and families during the transition period, (3) The importance of role clarity, (4) The provision of family-centered care, and (5) Social work responses to potential difficulties which were preventative rather than reactive. The move into residential aged care can be an overwhelming, and in some cases, traumatic transition for residents and families. Results identified that timely and expert social work intervention can improve the transition process through the provision of counselling to effectively manage grief, loss, and psychosocial issues.
##      PurposeThis article aims to explore the dominant normative patterns that establish the timing and order of life events, determining the desirable life strategies for working-class youth in modern Russia.Design/methodology/approachExploring the interrelationship between new working-class studies and life-course studies, this research combines the consideration of life course as a structurally organised integrity with a phenomenological perspective on the study of life strategies. The empirical basis of research consists of a survey of 1532 young working-class representatives living in the Ural Federal District of Russia and biographical in-depth interviews with 31 of them.FindingsThe study resulted in persisting significance and values of traditional life-course structures while showing that the current social conditions do not allow for this life strategy to be fulfilled. Young workers choose adaptation and survival life strategies that restrict the realisation of their professional and cultural potential. The obtained data have confirmed the presence of some worldwide tendencies, such as the dispersion of events during transition to adulthood, a combination of schooling and full-time work and an earlier career start of working-class representatives.Originality/valueThe sequencing and timing of life-course events of Russian working-class youth is an original research topic. The present study proposes and substantiates the notion of the new working class and criteria for its definition.
##      Responses to school shootings nationwide have been varied. While prevention and intervention have been a primary focus for many public schools, healing through faith has been less communicated in the public. Many survivors and stakeholders have publicly ridiculed overtly spiritual responses to school shootings that minimize action needed to address the issue, citing that policy change and improved safety precautions in schools are the primary ways in which change will occur. However, school shooting history suggests that healing from trauma should also be a main priority afterwards. This study explores the role of faith and religion with trauma intervention in the aftermath of school shootings. The article uses case study data to discuss the methods by which faith can be a resource for healing from trauma after school shootings.
##      According to the Organisation for Economic Co-operation and Development (OECD) [1], the population share of those adults aged 65 years old and over is expected to rise to 25.1% in 2050 across its member states.According to Fitzgerald and Caro [7], an age-friendly city offers a supportive environment that enables residents to actively grow older within their families, neighbourhoods, and civil society.According to the OECD [1], ageing societies pose diverse challenges, such as redesigning infrastructure, transport and urban development patterns, social isolation, lack of accessibility and affordable housing.[10] define technology for age-in-place as electronic technology that is developed to support the independence of community-dwelling older adults by alleviating or preventing functional or cognitive impairment, by limiting the impact of chronic diseases, or by enabling social or physical activity.[...]when looking at age-friendly cities, a city's infrastructure and aspects of walkability, its public transportation systems and features of accessible design are essential technological solutions to help older people thrive.

These posts seem not to address ASD at all (hmmm) but do discuss social isolation in a variety of health contextst.

Now I’m going to take a look at Topic 5 that I thought might be related to mothers and entrepreneurship:

## 
##  Topic 5: 
##       Ethical decision-making (EDM) theories in behavioural ethics management have been developed through the social sciences, psychology, social psychology, and cognitive neurosciences. These theories are either cognitive, non-cognitive or an integration of both. Other scholars have recommended redefining what ethical means through moral philosophy and theology. Buddhism is a religion, a philosophy, a psychology, an ethical system and an art of living. The divine states (i.e. loving-kindness, compassion, sympathetic joy, and equanimity) in Buddhism are virtues that could be developed by anyone regardless of their religion or non-religion through Buddhist meditation. They are so called because they enable individuals to develop ‘God-like qualities'. The theoretical insights of the divine states indicate how to eliminate negative emotions, such as anger, fear, delusion and envy, by cultivating love and compassion towards both the self and others. Accordingly, this paper contributes to EDM by redefining what ethical means through the meanings managers who practise Buddhist meditation assign to divine states in their lived experience of EDM in organisations in Sri Lanka. The sample consisted of 17 Buddhists, 1 Hindu, 1 Muslim and 1 no-religion. Data were collected using semi-structured in-depth interviews and was analysed with IPA. The findings indicated that how the managers made meaning of an ethical decision was influenced by their loving-kindness, compassion, sympathetic joy and equanimity. The findings also indicated that the managers justified the reasons for their decisions subsequently through the benefits to themselves as well as their employees. Accordingly, this study supports the view that EDM is an integrated approach.
##      Ethical decision-making (EDM) theories in behavioural ethics management have been developed through the social sciences, psychology, social psychology, and cognitive neurosciences. These theories are either cognitive, non-cognitive or an integration of both. Other scholars have recommended redefining what ethical means through moral philosophy and theology. Buddhism is a religion, a philosophy, a psychology, an ethical system and an art of living. The divine states (i.e. loving-kindness, compassion, sympathetic joy, and equanimity) in Buddhism are virtues that could be developed by anyone regardless of their religion or non-religion through Buddhist meditation. They are so called because they enable individuals to develop ‘God-like qualities'. The theoretical insights of the divine states indicate how to eliminate negative emotions, such as anger, fear, delusion and envy, by cultivating love and compassion towards both the self and others. Accordingly, this paper contributes to EDM by redefining what ethical means through the meanings managers who practise Buddhist meditation assign to divine states in their lived experience of EDM in organisations in Sri Lanka. The sample consisted of 17 Buddhists, 1 Hindu, 1 Muslim and 1 no-religion. Data were collected using semi-structured in-depth interviews and was analysed with IPA. The findings indicated that how the managers made meaning of an ethical decision was influenced by their loving-kindness, compassion, sympathetic joy and equanimity. The findings also indicated that the managers justified the reasons for their decisions subsequently through the benefits to themselves as well as their employees. Accordingly, this study supports the view that EDM is an integrated approach.
##      PurposeThis paper aims to provide insights into the female transformational leadership behaviours within a socially dynamic environment. Research was conducted in the State of Qatar, a country that is going through a rapid social change.Design/methodology/approachThe research framework was based on the transformational leadership framework (TLF) initially proposed by Burns (1978) and further developed by Bass (1985). A respondent set, consisting of 25 Qatari female managers, was taken from the largest public university in the State of Qatar. In-depth interviews were the main source of collected data. The data were analysed using NVivo 11.FindingsPredominantly, Qatari female leadership behaviours were reflective of transformational leadership. In their dealings, Qatari female managers displayed motherly instincts, encouraged open communication, used relationship adaptations and used trust. From time to time, Qatari female managers displayed non-transformational leadership behaviours. This occasional leadership style switch was part of behavioural flexibility that was required in a mixed age, mixed gender, mixed experience and mixed nationalities work environment. The key reason for the change in transformational leadership approach came as a reaction to subordinates' attitude. In particular, the male-dominated work environment required behavioural adjustments (such as being more assertive and autocratic) to deal with masculine subordinates.Research limitations/implicationsA range of respondent perceptions were related to defining leadership. There was some overlapping between the tested determinants. For example, idealised influence and individualised consideration shared a degree of similarity in terms of how they were perceived.Social implicationsSocially dynamic environment should be seen as an opportunity for female transformational leadership development. Social dynamism may result in an evolved TLF that could be more appropriate for Qatari organisations. Hence, experience and problem sharing between Qatari female managers may help in developing a socially and culturally fitting transformational leadership model.Originality/valueThe study presented a perspective of a socially dynamic environment where women were practicing transformational leadership primarily through behavioural flexibility and change management. The study suggests an extended version of TLF that would be more suitable for female leadership within a socially dynamic environment.
##      PurposeThe purpose of this paper is to investigate the role of perceived benefits, namely, price, convenience and product variety in formation of online shopping attitude. The paper also studies the impact of online shopping attitude on online shopping intentions by the application of the theory of reasoned action.Design/methodology/approachA self-administered and structured online survey was conducted targeting female online shoppers of four metropolitan cities of India. A sample of 508 online shoppers was considered in the online survey. Confirmatory factor analysis was used to evaluate the research constructs, validity and composite reliability. Structural equation modeling and path analysis was also used to examine the hypothesized relationships of the research model.FindingsThe authors of the paper reveals that price benefit, convenience benefit and product variety benefit has a significant positive impact on online shopping attitude and there is a considerable positive relationship between online shopping attitude and online shopping intention among women in India. Product variety was found to be the most important perceived benefit for Indian women.Research limitations/implicationsThe research sample included only women shoppers who indulge in online shopping. Future research is encouraged to emphasize on other groups and gender to identify with their online shopping attitudes. Another important limitation of the study is consequent from the geographical perspective of the present study; that is India. The findings are not necessarily applicable to the rest of the world. Therefore, reproduction of the current study in diverse countries would probably support and confirm its findings. Also, the present study is cross-sectional which does not demonstrate how attitudes of online shoppers may alter over time. The authors of the current study encourage future research to apply a longitudinal design to the study to understand the transforms in consumers' attitudes toward online shopping over time. Finally, this study explained a general phenomenon, thus future research can be directed toward particular websites which may present different results.Practical implicationsThe study supports the significance of perceived benefits (price, convenience and variety) as key drivers of attitudes toward online shopping among women in India. Marketers should distinguish the way they indulge their customers based on their perceived benefits of online shopping. In developing countries like India, where consumers, especially women, are generally depicted as risk averse, online shopping attitude plays an important role in the success of e-tailers. Certainly, if online shopping would not attach meaningful value and benefits to consumers, they would have negative attitude toward the same. Additionally, the empirical research study demonstrates variety to be the most important benefit for Indian women; ecommerce retailers should focus on maximizing the same to enhance online purchase intention among women customers. Women empowerment being the agenda in India currently, online retailers' managers can benefit from such conclusions for targeting this huge untapped market and for future e-marketing policies.Originality/valueThis research paper is one of the very few endeavors that investigated online shopping attitudes in India. Prominently, it exposed the role of perceived benefits in online shopping attitude in India. Price is one of the most critical factor concerning Indian shoppers which is a part of the present study. National and international e-tailers preparing to develop and expand their operations to India have now important empirical verification concerned with the determinants of online shopping attitudes and behavior in India which shall aid in marketing strategy development and implementation.
##      PurposeThis paper aims to study the impediments and difficulties that prevent Indian women from becoming entrepreneurs.Design/methodology/approachData were obtained through a survey involving 15 experts. Based on the feedback provided by the experts, ten relevant barriers in the context of Indian micro small and medium enterprises (MSMEs) were chosen. A structured questionnaire was used to gather data. These ten barriers create obstruction for Indian women as entrepreneurs. These barriers were ranked, and causal relationships among them established using interpretive structural modeling and Matrice d'Impacts croises-multiplication appliqúean classment (cross-impact matrix multiplication applied to classification) (ISM MICMAC) approach.FindingsThis study identifies, on the basis of extant literature and experts' opinion, ten barriers to female entrepreneurship. These barriers were ranked, and causal relationships among them established using the ISM MICMAC approach. On the basis of ranking, women can move forward in MSMEs after removing these obstacles and it will have good results.Research limitations/implicationsIn this research, with literature reviews and experts opinion, ten barriers have been identified for women's entrepreneurship and have been used to build the model.Practical implicationsTo bring Indian women forward in the field of entrepreneurship, both the society and the government should work together, and efforts should be made to overcome the obstacles coming in the way of entrepreneurs.Social implicationsFemale entrepreneurship in India faces many problems including negative attitude of authorities and society toward women. The society and authorities have no format or model for Indian women to move forward in the entrepreneurship sector.Originality/valueThis study seeks to identify, on the basis of a thorough review of literature and expert opinion, major barriers to female entrepreneurship in the context of Indian MSMEs.
##      Defining compliance as acquiescence in situations of inequality, this article explores patterns of compliance to gender traditionalism from the analysis of interviews with Mormon women. Analysis reveals that Mormon women face unique, context-specific mechanisms for stifling resistance to gender traditionalism. Additionally, many of the Mormon women interviewed who do not comply with traditional gender expectations regarding motherhood still accept and defend gender traditionalism. We explain this pattern with a concept that we call ideological compensation, which means that women in gender traditional religions defend gender traditionalism even if they do not live it as a way to compensate for their non-compliance. Finally, we find that some of the women frame their compliance to Mormon gender traditionalism as a statement of resistance against the broader society. We describe this phenomenon with a concept known as subcultural resistance. Overall, this study sheds light on how Mormon women interpret traditional gender expectations and the mechanisms that are put in place to stifle resistance.
##      Ranchers and pastoralists worldwide manage and depend upon resources from rangelands (which support indigenous vegetation with the potential for grazing) across Earth's terrestrial surface. In the Great Plains of North America rangeland ecology has increasingly recognized the importance of managing rangeland vegetation heterogeneity to address conservation and production goals. This paradigm, however, has limited application for ranchers as they manage extensive beef production operations under high levels of social-ecological complexity and uncertainty. We draw on the ethics of care theoretical framework to explore how ranchers choose management actions. We used modified grounded theory analysis of repeated interviews with ranchers to (1) compare rancher decision-making under relatively certain and uncertain conditions and (2) describe a typology of practices used to prioritize and choose management actions that maintain effective stewardship of these often multi-generational ranches. We contrast traditional decision-making frameworks with those described by interviewees when high levels of environmental and market uncertainty or ecological complexity led ranchers toward use of care-based, flexible and relational frameworks for decision-making. Ranchers facing complexity and uncertainty often sought “middle-ground” strategies to balance multiple, conflicting responsibilities in rangeland social-ecological systems. For example, ranchers' care-based decision-making leads to conservative stocking approaches to “manage for the middle,” e.g. to limit risk under uncertain weather and forage availability conditions. Efforts to promote heterogeneity-based rangeland management for biodiversity conservation through the restoration of patch burn grazing and prairie dog conservation will require increased valuation of ranchers' care work.
##      The relevance of women in contributing to inclusive growth and consequently economic development in Nigeria cannot be overemphasized. Women play important social, economic and productive roles in any economy. Maternal mortality rate refers to the annual number of deaths of women from pregnancy-related causes per 100,000 live births, and Nigeria's rate is still relatively high at about 630 when compared with the figures of the developed countries. For inclusive growth to be achieved in Nigeria, women should not be neglected and marginalized so they can contribute their quota to the growth of the country, but maternal mortality rate needs to be reduced because it is only the living that can make contributions to growth. Thus, this study examined the long run effect of gender inequality, maternal mortality and inclusive growth in Nigeria using time series data spanning from 1985 to 2017, and employed the ARDL econometric technique. The results showed that gender inequality and maternal mortality have negative impacts on inclusive growth in Nigeria. Therefore, the study recommends that women should be properly taken care of during pregnancy so that the maternal mortality rate can be reduced and hence they will be able to make meaningful contributions to the growth of the Nigerian economy.
##      The relevance of women in contributing to inclusive growth and consequently economic development in Nigeria cannot be overemphasized. Women play important social, economic and productive roles in any economy. Maternal mortality rate refers to the annual number of deaths of women from pregnancy-related causes per 100,000 live births, and Nigeria's rate is still relatively high at about 630 when compared with the figures of the developed countries. For inclusive growth to be achieved in Nigeria, women should not be neglected and marginalized so they can contribute their quota to the growth of the country, but maternal mortality rate needs to be reduced because it is only the living that can make contributions to growth. Thus, this study examined the long run effect of gender inequality, maternal mortality and inclusive growth in Nigeria using time series data spanning from 1985 to 2017, and employed the ARDL econometric technique. The results showed that gender inequality and maternal mortality have negative impacts on inclusive growth in Nigeria. Therefore, the study recommends that women should be properly taken care of during pregnancy so that the maternal mortality rate can be reduced and hence they will be able to make meaningful contributions to the growth of the Nigerian economy.
##      We investigated how social dominance orientation (SDO) and power distance (PD) influence attitudes toward women managers. We collected data from women in both Kuwait and America. We discovered that the interaction between perceptions of high PD and SDO resulted in favorable attitudes toward women managers in America and unfavorable attitudes toward women managers in Kuwait. Contrary to our prediction, we also discovered that perceived low PD in American women who are high in SDO has a positive attitude toward other women managers. In agreement with our predictions, perceived low PD in Kuwaiti women who are high in SDO has a negative attitude toward other women managers.

This one seems to be much more on target. There are some irrelevant abstracts, but most include topics surrounding female entrepreneurs, women’s role in economic development, women as managers, etc.

Finally, let’s look at posts from Topic 11 which I though might be a theme about digital communication and social media.

## 
##  Topic 11: 
##       BackgroundDespite widespread use of digital toys, research evidence of how a digital toy's features affect children's development and the nature of parent child interactions during play is limited.ObjectiveThe present study aimed to examine how mother child dyads experience a traditional stuffed toy and an animated digital toy by comparing children's conceptions of the toys, their play behaviors, and maternal interactive behaviors. The relationship pattern of how and degree to which children's conceptions and maternal interactive behaviors are associated with children's play were explored to examine how the toys' animated and interactive function affected children's play level and mother child interaction.MethodForty-eight children (mean age 49.77 months; 32 boys and 16 girls) and their mothers participated in the present study. Mother child play with the toys was observed, and the children's conceptions of the toys were obtained through interviews.ResultsChildren seemed to perceive that a digital puppy doll had psychological attributes. The mothers showed more interactive behaviors overall when playing with their children using digital toys. However, the associations between maternal interactive behaviors and children's play in the two different play settings showed that a digital toy changed mother child interaction owing to its technological features. Both children's conception and maternal interactive behaviors of pretend play in the two different play contexts independently contributed to children's pretense level.ConclusionsThe current findings confirmed the facilitating as well as mediating effects of a digital toy on children's play and the role of parents during play with digital toys.
##      Purpose: Reading involves the ability to decode and draw meaning from printed text. Reading skill profiles vary widely among learners with autism spectrum disorder (ASD). One fairly common pattern is relative strength in decoding combined with weak comprehension skills-indicators of this profile emerge as early as the preschool years. In order for children with ASD to develop a facility with language that prepares them for reading success, practitioners must intentionally create and provide appropriate instruction practices. Method: In this tutorial, we describe ways in which practitioners can support language development and comprehension skills for children with ASD within the context of shared reading activities. We begin by providing known information about the reading performance of children with ASD using the Simple View of Reading as our guiding conceptual framework. Next, we present a number of practical, evidence-based strategies that educators can implement within the context of shared book reading activities. Case studies are embedded throughout the tutorial to demonstrate how practitioners may apply these strategies in their instructional settings. Conclusions: Shared book reading interventions are a wellstudied, developmentally appropriate approach for bringing about change in language and literacy in early childhood. The success of shared reading depends upon rich communication and interaction between the adult reader and the child. Many children with ASD will require strategies to support social communication and emergent literacy skill development (e.g., vocabulary knowledge, language comprehension) that are specifically linked to future reading comprehension.
##      Objective: This study examined how custodial grandmothers navigated the process of their grandchildren being reunified with a biological parent. Background: Prior research has focused on factors associated with unsuccessful reunification instead of resilient family processes that may support successful reunification. How custodial grandfamilies navigate reunification has not been examined, despite their unique relational configuration and grandparents' frequent involvement in raising their grandchildren. Method: Guided by Walsh's model of family resilience, semistructured, in-depth qualitative interviews were conducted with a convenience sample of 17 grandmothers whose custodial grandchildren had been reunified with a biological parent. Data analysis was guided by grounded theory methodology. Results: Grandmothers believed in parents fulfilling their obligations, prioritizing grandchildren's needs, and coping via their faith. Grandmothers supported reunified parents and children by providing emotional support and instrumental assistance, while maintaining clear role boundaries. Accessing resources and engaging in open family communication were helpful to the reunification, although there were still challenges in navigating family relationships. Conclusion: Within custodial grandfamilies, not all reunifications were a positive outcome for the grandchildren. Grandmothers remained heavily involved in supporting and monitoring the reunifications, with the quality of the grandmother-parent relationship being paramount. Implications: Practitioners should address family dynamics when working with custodial grandfamilies before, during, and after a reunification.
##      Autism spectrum disorder (ASD) is a neurodevelopmental disorder with an early onset and a strong genetic origin. Unaffected relatives may present similar but subthreshold characteristics of ASD. This broader autism phenotype is especially prevalent in the parents of individuals with ASD, suggesting that it has heritable factors. Although previous studies have demonstrated brain morphometry differences in ASD, they are poorly understood in parents of individuals with ASD. Here, we estimated grey matter volume in 45 mothers of children with ASD (mASD) and 46 age-, sex-, and handedness-matched controls using whole-brain voxel-based morphometry analysis. The mASD group had smaller grey matter volume in the right middle temporal gyrus, temporoparietal junction, cerebellum, and parahippocampal gyrus compared with the control group. Furthermore, we analysed the correlations of these brain volumes with ASD behavioural characteristics using autism spectrum quotient (AQ) and systemizing quotient (SQ) scores, which measure general autistic traits and the drive to systemize. Smaller volumes in the middle temporal gyrus and temporoparietal junction correlated with higher SQ scores, and smaller volumes in the cerebellum and parahippocampal gyrus correlated with higher AQ scores. Our findings suggest that atypical grey matter volumes in mASD may represent one of the neurostructural endophenotypes of ASD.
##      Purpose: This clinical focus article introduces a summary profile template, called the Early Development of Emotional Competence Profile (EDEC-P). This profile distills information from a longer interview tool that solicits a detailed case history (the EDEC), but in a format that is readily accessible for communication partners of children with complex communication needs, including parents, educators, and other professionals. Method: In this clinical focus article, we will (a) introduce the EDEC-P structure, (b) illustrate via case examples the types of information that can be shared, and (c) offer preliminary feedback from parents and other professionals on its usefulness. We will review literature that supports the importance of scaffolding communication about emotions by specialists who work with children with complex communication needs and by parents and other communication partners. Results: An EDEC-P was generated for two participants as an illustration of the process. Feedback was solicited from these children's parents and other communication partners. The feedback demonstrated that the EDEC-P was viewed as a positive tool and identified some of the ways that it might be used. Conclusions: The EDEC-P may be useful for professionals who are interested in approaching communication about emotions in children with complex communication needs. Guidelines are proposed to present and discuss the results from the interview to support the decision-making process in the clinical practice and next steps in research. Supplemental Material: https://doi.org/10.23641/asha. 14219777
##      To explore the direct and indirect associations of maternal emotion control, executive functioning, and social cognitions with harsh verbal parenting and child behavior and to do so guided by social information processing theory. Studies have demonstrated a relationship between maternal harsh parenting and increased child conduct problems. However, less is known about how maternal emotion and cognitive control capacities and social cognitions intersect with harsh parenting and child behavior. Structural equation modeling was used with a convenience sample of 152 mothers from Appalachia who had a child between 3 and 7 years of age. Maternal emotion control and executive functioning were both inversely associated with child conduct problems. That is, stronger maternal emotion control was associated with less harsh verbal parenting and lower hostile attribution bias, and higher maternal executive functioning was related to less controlling parenting attitudes. The results suggest maternal emotion and cognitive control capacities affect how mothers interact with their children and ultimately child conduct problems. To more effectively reduce harsh verbal parenting and child conduct problems, interventions should help mothers to improve their emotion and cognitive control capacities.
##      The German verbal lexicon has been enriched by numerous English borrowings, particularly within the past 100 years, but while many verbal anglicisms are frequently used and sanctioned by language authorities, the status of new, non-standard, and rare verbal anglicisms in German has not been subject to extensive research attention. In this study, a new method is used to analyze non-standard German verbal anglicisms in a large and novel corpus compiled from the social media platform Twitter. After a review of previous work, the methods used to create a corpus of German-language tweets and to automatically extract new verbal anglicisms are described, and the semantics of some of their most frequent types are analyzed, including forms with separable and inseparable prefixes. Then, present and past participles are considered according to assimilation to standard German orthography, use as participle or attributive adjective, and stem vowel quality. In the final set of results, the focus is on the productivity of the verbalizing morpheme -ier-, a historically important element for the integration of foreign word material into German. The study demonstrates that non-standard verbal anglicisms are widely used, and that their morphological behavior is mediated by frequency effects as well as phonological, pragmatic, and semantic considerations.
##      Parents who are plurilingual have a portfolio of assets they can use to support the language development of their children. This portfolio of assets is positioned as a strength that parents bring into their partnership with early childhood educators. However, not all parents who are plurilingual have the same assets in their language portfolios. Our study, using case studies of parents who have multiple languages and a desire to raise their children with more than one language, demonstrates that previous parental experiences with multiple languages, and intra-familial support for multiple languages combine to impact on parental language strengths and the expectations parents have of early childhood professionals. To build effective partnerships with parents, early childhood professionals need to understand the assets in parental language portfolios.
##      Adolescents participated in qualitative interviews (N = 40) and permitted researchers to check their cell phone histories (N = 35) for the content and frequency of text and call communications with parents. Communications focused predominantly on day-to-day “managerial” aspects of parent child relationships but also facilitated emotional connections between adolescents and parents. Adolescents preferred to use texts to engage in managerial communications and calls to connect emotionally, but logistical constraints resulted in most cell phone communications between adolescents and parents involving calls. Participants communicated more with mothers than fathers, regardless of communication content or medium. This was true regardless of family structure, although gender-of-parent differences were accentuated for adolescents in mother-only households. This pattern was explained by both greater maternal accessibility and adolescent preferences for communication with mothers. Communications with fathers tended to occur either when mothers were not available or when the communication was focused on a highly specific set of stereotypically masculine content areas.
##      This is a comparative ethnographic research, comparing the primary school level migrant learners' performance in the learning of the national language of the host countries in Finland and Tanzania. A response from nine teachers, drawn from Tanzanian International Schools, attended by expats' children, was collected through structured interviews. Additionally, two In-Depth Interviews, targeting Tanzanian Swahili teachers at the international schools, was conducted using the narration approach. The study uses MAXQDA to comparatively analyze the findings of fourteen research articles on immigrant pupils' learning challenges of the Finnish language as a second language in Finland, and gathered information from this study's survey is used to analyze the use of Kiswahili as a second language in Tanzania. The research focuses on a comparative analysis of the learning and use of official languages of the host countries as second languages, used in facilitating learning among primary school learners. In Finland, the official language analyzed is Finnish, whereas in Tanzania, the official language analyzed is Kiswahili. The International schools in Tanzania offer Kiswahili lessons to all learners in primary school as guided by national education policy, whereas all public and international schools in Finland offer Finnish lessons for all learners under the education policy. The responses in both Finland and Tanzania are deconstructed qualitatively to illuminate the similarities and differences between European migrant learners and African migrant learners using a second language for learning, and to further deconstruct the nuanced epistemological injustice against minorities. The theories in this research are derived using the grounded theory approach.

Interestingly, it seems that this topic has more to do with communication in general. ASD (a communication disorder) popped up here, but so did topics related to teaching reading, digital toys, and bilingualism.

Conclusions

I feel like this was a really valuable exercise and one I will likely repeat with variations on the initial corpus. Many of the abstracts seemed pretty irrelevant to the topics I wanted to investigate, which suggests that my initial search terms may not have been specific enough. For example, I saw very little about “motivation.”

Nevertheless, I did gain some insights. Autism spectrum disorders seem to be a prominent topic, and potentially one around which mothers look to technology for forms of social support. The theme of entrepreneurship was also interesting, although I think I would need to investigate more deeply (and likely hone my search terms) to see whether technology is playing a role in these businesses. Education and health are big themes in the corpus, which fits nicely with my rationale for this investigation. Namely, can technology be leveraged (by teachers, healthcare providers, etc.) to provide forms of social support to mothers, children, and families?

For future work, I think I’d like to hone my search terms a bit and conduct a separate topic modeling analysis including terms such as “disability” and “special needs.”

LS0tDQp0aXRsZTogIlRvcGljIE1vZGVsaW5nOiBNb21zLCBUZWNobm9sb2d5LCBNb3RpdmF0aW9uICYgU29jaWFsIFN1cHBvcnQiDQphdXRob3I6ICJDYXRoZXJpbmUgTm9vbmFuIg0KZGF0ZTogIjIvMjIvMjAyMiINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2RlcHRoOiAzDQogICAgdG9jX2Zsb2F0OiB5ZXMNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFDQplZGl0b3Jfb3B0aW9uczogDQogIG1hcmtkb3duOiANCiAgICB3cmFwOiA3Mg0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGQUxTRSkNCmBgYA0KDQoNCiMjIDEuIFBSRVBBUkUNCg0KIyMjIDFhLiBDb250ZXh0DQoNCiMjIyMgU29jaWFsIFN1cHBvcnQgb3IgU29jaWV0YWwgVGF4PyBNb3RoZXJzJyBNb3RpdmF0aW9ucyBmb3IgRW5nYWdpbmcgDQojIyMjIGluIFRlY2hub2xvZ3kgVXNlDQoNCg0KDQoqKkFic3RyYWN0KioNCg0KUGFyZW50cyBvZiB5b3VuZyBjaGlsZHJlbiwgYW5kIHBhcnRpY3VsYXJseSBtb3RoZXJzIG9mIHlvdW5nIGNoaWxkcmVuLCByZXBvcnQNCmxvdyBsZXZlbHMgb2Ygc29jaWFsIHN1cHBvcnQuIFNvY2lhbCBzdXBwb3J0IGNhbiBwcmVzZW50IGFzIGluc3RydW1lbnRhbCwgZW1vdGlvbmFsLA0KYXBwcmFpc2FsLCBvciBpbmZvcm1hdGlvbmFsLiBHcmVhdGVyIHNvY2lhbCBzdXBwb3J0IGhhcyBiZWVuIGxpbmtlZCB3aXRoIGltcHJvdmVkDQptYXRlcm5hbCBoZWFsdGggYW5kIG1vcmUgZmF2b3JhYmxlIGNoaWxkIGRldmVsb3BtZW50IG91dGNvbWVzLiBIZWFsdGhjYXJlIHByb3ZpZGVycywNCnRlYWNoZXJzLCBhbmQgY291bnNlbG9ycyBhbGwgY29tcHJpc2UgcGFyZW50cycgc3VwcG9ydCBzeXN0ZW1zLCBvZnRlbiBzaGFyaW5nDQpyZXNvdXJjZXMgYW5kIGluZm9ybWF0aW9uIHRvIGVuaGFuY2UgZmFtaWx5IHdlbGxiZWluZy4gVGVjaG5vbG9neSBjYW4gb2ZmZXIgDQphIG1lYW5zIG9mIGdhdGhlcmluZyBzb2NpYWwgc3VwcG9ydC4gWWV0IHNvbWUgZXZpZGVuY2Ugc3VnZ2VzdHMgdGhhdCB0aGUgDQppbmZpbHRyYXRpb24gb2YgdGVjaG5vbG9neSBpbnRvIG1vZGVybiBsaWZlIGhhcyBjb250cmlidXRlZCBhIHdpZGVuaW5nIGdlbmRlciBwYXkNCmdhcCwgYW1vbmcgb3RoZXIgZmFjdG9ycyB0aGF0IG1heSB3b3JzZW4gY29uZGl0aW9ucyBmb3IgbW90aGVycy4gVGh1cywgYmV0dGVyDQp1bmRlcnN0YW5kaW5nIHRoZSByb2xlIG9mIHRlY2hub2xvZ3kgaW4gbW90aGVycycgbGl2ZXMtLWFuZCBwYXJ0aWN1bGFybHkgaXRzIHJvbGUgaW4gZWl0aGVyIHByb3ZpZGluZyBvciBkZWdyYWRpbmcgc29jaWFsIHN1cHBvcnQtLWNhbiBpbXByb3ZlIHNlcnZpY2UgZGVsaXZlcnkgdG8NCmZhbWlsaWVzIG9mIHlvdW5nIGNoaWxkcmVuLg0KDQoqKkRhdGEgU291cmNlICYgQW5hbHlzaXMqKg0KDQpJIGNvbmR1Y3RlZCBhIHNlYXJjaCBvbiB0aGUgUHJvUXVlc3QgQ2VudHJhbCBkYXRhYmFzZSB1c2luZyB0aGUgZm9sbG93aW5nIGNyaXRlcmlhOg0KLSBMYXN0IDUgeWVhcnMNCi0gU2VhcmNoIHRlcm1zOiBtb3RoZXIgKGFic3RyYWN0KSwgdGVjaG5vbG9neSAoYWJzdHJhY3QpLCBtb3RpdmF0aW9uIChhbnl3aGVyZSksDQoic29jaWFsIHN1cHBvcnQiIChhbnl3aGVyZSkNCi0gRW5nbGlzaCBsYW5ndWFnZQ0KLSBQZWVyLXJldmlld2VkIGpvdXJuYWwgYXJ0aWNsZQ0KLSBPcGVuIGFjY2Vzcw0KDQpUaGUgaW5pdGlhbCBzZWFyY2ggcmV0dXJuZWQgb3ZlciAyMDAwIHJlc3VsdHMsIHdpdGggcmVzdWx0cyBwcmVzZW50ZWQgaW4gb3JkZXIgb2YgcmVsZXZhbmNlLg0KDQpJIHJldmlld2VkIGFydGljbGUgdGl0bGVzIGFuZCBkZXRlcm1pbmVkIHRoYXQsIGFmdGVyIGFwcHJveGltYXRlbHkgY2l0YXRpb24gMTAwMCwNCnRoZSBhcnRpY2xlcyBiZWNhbWUgbGVzcyByZWxldmFudCB0byByZXNlYXJjaCBxdWVzdGlvbnMuIFRodXMsIEkgcmV0YWluZWQgdGhlDQpmaXJzdCAxMDAwIGFic3RyYWN0cyBmcm9tIHRoZSBzZWFyY2ggcmVzdWx0cyBhbmQgd2lsbCBhbmFseXplIHRoZW0NCnZpYSB0b3BpYyBtb2RlbGluZy4NCg0KDQoNCg0KIyMjIDFiLiBHdWlkaW5nIFF1ZXN0aW9ucw0KTXkgcmVzZWFyY2ggcXVlc3Rpb25zIGFyZSBhcyBmb2xsb3dzOg0KDQoxLglXaGF0IG1vdGl2YXRlcyBtb3RoZXJzIHRvIGVuZ2FnZSB3aXRoIG9yIGF2b2lkIHRlY2hub2xvZ3k/DQoyLglIb3cgZG8gbW90aGVycyBwZXJjZWl2ZSB0aGF0IHRlY2hub2xvZ3kgZWl0aGVyIGVuaGFuY2VzIG9yIGRldHJhY3RzIGZyb20gdGhlaXIgc3lzdGVtcyBvZiBzb2NpYWwgc3VwcG9ydD8NCjMuCURvIG1vdGl2YXRpb25zIHN1cnJvdW5kaW5nIHRlY2hub2xvZ3kgdXNlIGluY2x1ZGUgcmVhc29ucyBzcGVjaWZpYyB0byANCm1vdGhlcnMgb2YgY2hpbGRyZW4gd2l0aCBkaXNhYmlsaXRpZXM/DQoNCkluIHRoaXMgZXhlcmNpc2UsIHRvcGljIG1vZGVsaW5nIHdpbGwgYmUgdXNlZCB0byBnYWluIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YNCnRoZW1lcyBwcmVzZW50IGluIHB1Ymxpc2hlZCwgcGVlci1yZXZpZXdlZCBsaXRlcmF0dXJlIHB1Ymxpc2hlZCBpbiB0aGUgbGFzdCBmaXZlDQp5ZWFycyBzdXJyb3VuZCB0aGUgdG9waWMgb2YgbW90aGVycycgbW90aXZhdGlvbnMgZm9yIGVuZ2FnaW5nIChvciBub3QpIHdpdGggDQp0ZWNobm9sb2d5LS1hbmQgbW9yZSBzcGVjaWZpY2FsbHksIGhvdyB0ZWNobm9sb2d5IGlzIHVzZWQgdG8gZm9zdGVyIHNvY2lhbCBzdXBwb3J0Lg0KDQojIyMgMWMuIFNldCBVcA0KDQogVG8gc2V0IHVwLCBJIGNyZWF0ZWQgYSBuZXcgcHJqZWN0IHdpdGhpbiBSU3R1ZGlvLiBJIGluc3RhbGxlZCB0aGUgbmVjZXNzYXJ5DQogcGFja2FnZXMgYW5kIGxvYWRlZCB0aGVtIGludG8gbXkgbGlicmFyeQ0KIEkgYWxzbyBkaWQgYSBsaXR0bGUgY2xlYW5pbmcgb2YgdGhlIGNzdiBmaWxlIGRvd25sb2FkZWQgZnJvbSBQcm9RdWVzdCwNCiByZW1vdmluZyBvZGQgY2hhcmFjdGVycw0KDQpgYGB7ciBsb2FkLXBhY2thZ2VzLCBtZXNzYWdlPUZBTFNFfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KHRpZHl0ZXh0KQ0KbGlicmFyeShTbm93YmFsbEMpDQpsaWJyYXJ5KHRvcGljbW9kZWxzKQ0KbGlicmFyeShzdG0pDQpsaWJyYXJ5KGxkYXR1bmluZykNCmxpYnJhcnkoa25pdHIpDQpsaWJyYXJ5KExEQXZpcykNCmxpYnJhcnkoZGV2dG9vbHMpDQpgYGANCg0KDQojIyAyLiBXUkFOR0xFDQoNCiMjIyAyYS4gSW1wb3J0IEZvcnVtIERhdGENCg0KDQpgYGB7ciByZWFkLWNzdn0NCmFic3RyYWN0c19kYXRhIDwtIHJlYWRfY3N2KCJkYXRhL21tdF90aG91c2FuZC5jc3YiKQ0KYGBgDQoNClNpbmNlIEkgYW0gcHJpbWFyaWx5IGludGVyZXN0ZWQgaW4gdGhlIGNvbnRlbnQgb2YgdGhlIGFic3RyYWN0cywgdGhpcyBpcyBhIHNpbXBsZSANCmNzdiBmaWxlIHdpdGggb25seSB0d28gY29sdW1ucywgY29uc2lzdGluZyBvZiB0aGUgYWJzdHJhY3QgdGV4dCBhbmQgdGhlIHRpdGxlDQpvZiB0aGUgYXJ0aWNsZS4NCg0KIyMjIDJiLiBDYXN0IGEgRG9jdW1lbnQgVGVybSBNYXRyaXgNCg0KSW4gdGhpcyBzZWN0aW9uIEknbGwgdGlkeSBhbmQgdG9rZW5pemUgdGhlIHRleHQuIFRoZW4sIEknbGwgdXNlDQpmdW5jdGlvbnMgZnJvbSB0aGUgYHN0bWAgcGFja2FnZSB0byBwcm9jZXNzIHRoZSB0ZXh0IGFuZCB0cmFuc2Zvcm0NCm15IGRhdGEgZnJhbWVzIGludG8gbmV3IGRhdGEgc3RydWN0dXJlcyByZXF1aXJlZCBmb3IgdG9waWMgbW9kZWxpbmcuDQoNCiMjIyMgRnVuY3Rpb25zIFVzZWQNCg0KKipgdGlkeXRleHRgIGZ1bmN0aW9ucyoqDQoNCi0gICBgdW5uZXN0X3Rva2VucygpYCBzcGxpdHMgYSBjb2x1bW4gaW50byB0b2tlbnMNCi0gICBgYW50aV9qb2luKClgIHJldHVybnMgYWxsIHJvd3MgZnJvbSB4IHdpdGhvdXQgYSBtYXRjaCBpbiB5IGFuZCB1c2VkDQogICAgdG8gcmVtb3ZlIGBzdG9wIHdvcmRzYCBmcm9tIG91dCBkYXRhLg0KLSAgIGBjYXN0X2R0bSgpYCB0YWtlcyBhIHRpZGllZCBkYXRhIGZyYW1lIHRha2UgYW5kICJjYXN0cyIgaXQgaW50byBhDQogICAgZG9jdW1lbnQtdGVybSBtYXRyaXggKGR0bSkNCg0KKipgZHBseXJgKiogKipmdW5jdGlvbnMqKg0KDQotICAgYGNvdW50KClgIGxldHMgeW91IHF1aWNrbHkgY291bnQgdGhlIHVuaXF1ZSB2YWx1ZXMgb2Ygb25lIG9yIG1vcmUNCiAgICB2YXJpYWJsZXMNCi0gICBgZ3JvdXBfYnkoKWAgdGFrZXMgYSBkYXRhIGZyYW1lIGFuZCBvbmUgb3IgbW9yZSB2YXJpYWJsZXMgdG8gZ3JvdXANCiAgICBieQ0KLSAgIGBzdW1tYXJpc2UoKWAgY3JlYXRlcyBhIHN1bW1hcnkgb2YgZGF0YSB1c2luZyBhcmd1bWVudHMgbGlrZSBzdW0gYW5kDQogICAgbWVhbg0KDQoqKmBzdG1gIGZ1bmN0aW9ucyoqDQoNCi0gICBgdGV4dFByb2Nlc3NvcigpYCB0YWtlcyBpbiBhIHZlY3RvciBvciBjb2x1bW4gb2YgcmF3IHRleHRzIGFuZA0KICAgIHBlcmZvcm1zIHRleHQgcHJvY2Vzc2luZyBsaWtlIHJlbW92aW5nIHB1bmN0dWF0aW9uIGFuZCB3b3JkDQogICAgc3RlbW1pbmcuDQotICAgYHByZXBEb2N1bWVudHMoKWAgcGVyZm9ybXMgc2V2ZXJhbCBjb3JwdXMgbWFuaXB1bGF0aW9ucyBpbmNsdWRpbmcNCiAgICByZW1vdmluZyB3b3JkcyBhbmQgcmVudW1iZXJpbmcgd29yZCBpbmRpY2VzDQoNCiMjIyMgVGlkeWluZyBUZXh0DQoNClByaW9yIHRvIHRvcGljIG1vZGVsaW5nLCB3ZSBoYXZlIGEgZmV3IHJlbWFpbmluZyBzdGVwcyB0byB0aWR5IG91ciB0ZXh0DQp0aGF0IGhvcGVmdWxseSBzaG91bGQgZmVlbCBmYW1pbGlhciBieSB0aGlzIHBvaW50LiBJZiB5b3UgcmVjYWxsIGZyb20NCltDaGFwdGVyIDEgb2YgVGV4dCBNaW5pbmcgV2l0aA0KUl0oaHR0cHM6Ly93d3cudGlkeXRleHRtaW5pbmcuY29tL3RpZHl0ZXh0Lmh0bWwpLCB0aGVzZSBwcmVwcm9jZXNzaW5nDQpzdGVwcyBpbmNsdWRlOg0KDQoxLiAgVHJhbnNmb3JtaW5nIG91ciB0ZXh0IGludG8gInRva2VucyINCjIuICBSZW1vdmluZyB1bm5lY2Vzc2FyeSBjaGFyYWN0ZXJzLCBwdW5jdHVhdGlvbiwgYW5kIHdoaXRlc3BhY2UNCjMuICBDb252ZXJ0aW5nIGFsbCB0ZXh0IHRvIGxvd2VyY2FzZQ0KNC4gIFJlbW92aW5nIHN0b3Agd29yZHMgc3VjaCBhcyAidGhlIiwgIm9mIiwgYW5kICJ0byINCg0KTGV0J3MgdG9rZW5pemUgb3VyIGZvcnVtIHRleHQgYW5kIGJ5IHVzaW5nIHRoZSBmYW1pbGlhcg0KYHVubmVzdF90b2tlbnMoKWAgYW5kIHJlbW92ZSBzdG9wIHdvcmRzIHBlciB1c3VhbDoNCg0KYGBge3IgdG9rZW5pemUtYWJzdHJhY3RzfQ0KYWJzdHJhY3RzX3RpZHkgPC0gYWJzdHJhY3RzX2RhdGEgJT4lDQogIHVubmVzdF90b2tlbnMob3V0cHV0ID0gd29yZCwgaW5wdXQgPSBBYnN0cmFjdCkgJT4lDQogIGFudGlfam9pbihzdG9wX3dvcmRzLCBieSA9ICJ3b3JkIikNCg0KYWJzdHJhY3RzX3RpZHkNCmBgYA0KDQpOb3cgbGV0J3MgZG8gYSBxdWljayB3b3JkIGNvdW50IHRvIHNlZSBzb21lIG9mIHRoZSBtb3N0IGNvbW1vbiB3b3Jkcw0KdXNlZCB0aHJvdWdob3V0IHRoZSBmb3J1bXMuIFRoaXMgc2hvdWxkIGdldCBhIHNlbnNlIG9mIHdoYXQgd2UncmUNCndvcmtpbmcgd2l0aCBhbmQgbGF0ZXIgd2UnbGwgbmVlZCB0aGVzZSB3b3JkIGNvdW50cyBmb3IgY3JlYXRpbmcgb3VyDQpkb2N1bWVudCB0ZXJtIG1hdHJpeCBmb3IgdG9waWMgbW9kZWxpbmc6DQoNCmBgYHtyIGNvdW50LXdvcmRzfQ0KYWJzdHJhY3RzX3RpZHkgJT4lDQogIGNvdW50KHdvcmQsIHNvcnQgPSBUUlVFKQ0KYGBgDQoNCiJTb2NpYWwiIGlzIHRoZSBtb3N0IGNvbW1vbiB3b3JkLiAiSGVhbHRoIiBpcyB0aGUgZm91cnRoIG1vc3QgY29tbW9uIHdvcmQsIGZvbGxvd2VkDQpieSAic3VwcG9ydCIuIEl0IG1pZ2h0IGJlIHdvcnRoIGV4cGxvcmluZyBzb21lIG9mIHRoZSBwb3N0cyB3aXRoICJzb2NpYWwiIGFuZA0KInN1cHBvcnQiDQoNCkknbSBhbHNvIGludGVyZXN0ZWQgaW4gImhlYWx0aCIgKDR0aCBtb3N0IGNvbW1vbiB3b3JkKSwgInRlY2hub2xvZ3kiICwgIm1lZGlhIiwNCmFuZCAiZWR1Y2F0aW9uIiBhbmQgImxlYXJuaW5nIiAoYWxsIG9mIHdoaWNoIGFyZSBpbiB0aGUgdG9wIDIwIG1vc3QgY29tbW9uIHdvcmRzKQ0KDQoNCmBgYHtyfQ0KI2ZpbHRlciBmb3Igcm93cyBsb29raW5nIGF0IGVkdWNhdGlvbiBhbmQgbGVhcm5pbmcNCiNTZWxlY3QgYSByYW5kb20gc2FtcGxlIG9mIDEwIHBvc3RzIHVzaW5nIHRoZSBgc2FtcGxlX24oKScgZnVuY3Rpb24NCg0KbGVhcm5fcXVvdGVzIDwtIGFic3RyYWN0c19kYXRhICU+JQ0KICBzZWxlY3QoQWJzdHJhY3QpICU+JSANCiAgZmlsdGVyKGdyZXBsKCdsZWFybmluZycsIEFic3RyYWN0KSkNCg0Kc2FtcGxlX24obGVhcm5fcXVvdGVzLDEwKQ0KDQpgYGANCg0KU2Nhbm5pbmcgdGhlc2UsIGl0IHNlZW1zIHRoYXQgYXRoZXJlJ3MgYSBmYWlyIGFtb3VudCBhYm91dCBzY2hvb2xzIGFuZCBzb21lIA0KYWJvdXQgYXNzaXN0aXZlIHRlY2hub2xvZ3kgYmVpbmcgdXNlZCBmb3IgZWR1Y2F0aW9uYWwgcHVycG9zZXMuIEhvd2V2ZXIsIEkgZG9uJ3QNCnNlZSBhIGxvdCBhYm91dCBtb3RoZXJzLiBOZXh0IEkgd2FudCB0byBsb29rIGF0IHNvY2lhbCBzdXBwb3J0Lg0KDQpgYGB7ciBmaW5kLXF1b3Rlcy1zcywgZWNobz1GQUxTRX0NCiNmaWx0ZXIgZm9yIHJvd3MgbG9va2luZyBhdCBzb2NpYWwgYW5kIHN1cHBvcnQNCiNTZWxlY3QgYSByYW5kb20gc2FtcGxlIG9mIDEwIHBvc3RzIHVzaW5nIHRoZSBgc2FtcGxlX24oKWAgZnVuY3Rpb24NCg0Kc3NfcXVvdGVzIDwtIGFic3RyYWN0c19kYXRhICU+JQ0KICBzZWxlY3QoQWJzdHJhY3QpICU+JSANCiAgZmlsdGVyKGdyZXBsKCdzdXBwb3J0JywgQWJzdHJhY3QpKQ0KDQpzYW1wbGVfbihzc19xdW90ZXMsMTApDQpgYGANCg0KVGhlc2UgZG8gc2VlbSBhIGJpdCBtb3JlIHJlbGV2YW50Li4uSSdtIHNlZWluZyBzb21lIG1lbnRpb25zIG9mIHBhcmVudHMsIGZhbWlsaWVzLA0KYW5kIG1vdGhlcnMuIEFzIGEgbGFzdCBwZWVrLCBJIGFtIGdvaW5nIHRvIGxvb2sgYXQgIm1lZGlhIi4gSSBoeXBvdGhlc2l6ZSB0aGF0DQp0aGlzIHdpbGwgaGF2ZSBhIGxvdCB0byBkbyB3aXRoIHNvY2lhbCBtZWRpYSwgYnV0IHdlIHNoYWxsIHNlZS4uLg0KDQpgYGB7ciBmaW5kLXF1b3Rlcy1tZWRpYSwgZWNobz1GQUxTRX0NCiNmaWx0ZXIgZm9yIHJvd3MgbG9va2luZyBhdCBzb2NpYWwgYW5kIHN1cHBvcnQNCiNTZWxlY3QgYSByYW5kb20gc2FtcGxlIG9mIDEwIHBvc3RzIHVzaW5nIHRoZSBgc2FtcGxlX24oKWBmdW5jdGlvbg0KDQptZWRpYV9xdW90ZXMgPC0gYWJzdHJhY3RzX2RhdGEgJT4lDQogIHNlbGVjdChBYnN0cmFjdCkgJT4lIA0KICBmaWx0ZXIoZ3JlcGwoJ21lZGlhJywgQWJzdHJhY3QpKQ0KDQpzYW1wbGVfbihtZWRpYV9xdW90ZXMsMTApDQpgYGANCg0KU29jaWFsIG1lZGlhIGRvZXMgZmFjdG9yIHByb21pbmVudGx5IGluIHRoZXNlIHF1b3Rlcy4NCg0KIyMjIyBDcmVhdGluZyBhIERvY3VtZW50IFRlcm0gTWF0cml4DQoNCg0KVG8gY3JlYXRlIG15IGRvY3VtZW50IHRlcm0gbWF0cml4LCBJJ2xsIG5lZWQgdG8gZmlyc3QNCmBjb3VudCgpYCBob3cgbWFueSB0aW1lcyBlYWNoIGB3b3JkYCBvY2N1cnMgaW4gZWFjaCBkb2N1bWVudCwgb3INCmBhYnN0cmFjdGAsIGFuZCBjcmVhdGUgYSBtYXRyaXggdGhhdCBjb250YWlucyBvbmUgcm93IHBlcg0KcG9zdCBhcyBvdXIgb3JpZ2luYWwgZGF0YSBmcmFtZSBkaWQsIGJ1dCBub3cgY29udGFpbnMgYSBjb2x1bW4gZm9yIGVhY2gNCmB3b3JkYCBpbiB0aGUgZW50aXJlIGNvcnB1cyBhbmQgYSB2YWx1ZSBvZiBgbmAgZm9yIGhvdyBtYW55IHRpbWVzIHRoYXQNCndvcmQgb2NjdXJzIGluIGVhY2ggcG9zdC4NCg0KVG8gY3JlYXRlIHRoaXMgZG9jdW1lbnQgdGVybSBtYXRyaXggZnJvbSBvdXIgcG9zdCBjb3VudHMsIHdlJ2xsIHVzZSB0aGUNCmBjYXN0X2R0bSgpYCBmdW5jdGlvbiBsaWtlIHNvIGFuZCBhc3NpZ24gaXQgdG8gdGhlIHZhcmlhYmxlDQpgZm9ydW1zX2R0bWA6DQoNCmBgYHtyfQ0KbGlicmFyeSh0bSkNCg0KYGBgDQoNCg0KYGBge3IgY2FzdC1kdG19DQojIGdldHRpbmcgYW4gZXJyb3IgaGVyZSBzbyBtb3Zpbmcgb24gZm9yIG5vdw0KYWJzdHJhY3RzX2R0bSA8LSBhYnN0cmFjdHNfdGlkeSAlPiUNCiAgY291bnQoVGl0bGUsIHdvcmQpICU+JQ0KICBjYXN0X2R0bShUaXRsZSwgd29yZCwgbikNCmBgYA0KDQoNCiMjIyAyYy4gVG8gU3RlbSBvciBub3QgdG8gU3RlbT8NCiMjIyMgUHJvY2Vzc2luZyBhbmQgU3RlbW1pbmcgZm9yIFNUTQ0KDQpMaWtlIGB1bm5lc3RfdG9rZW5zKClgLCB0aGUgYHRleHRQcm9jZXNzb3IoKWAgZnVuY3Rpb24gaW5jbHVkZXMgc2V2ZXJhbA0KdXNlZnVsIGFyZ3VtZW50cyBmb3IgcHJvY2Vzc2luZyB0ZXh0IGxpa2UgY29udmVydGluZyB0ZXh0IHRvIGxvd2VyY2FzZQ0KYW5kIHJlbW92aW5nIHB1bmN0dWF0aW9uIGFuZCBudW1iZXJzLiBJJ3ZlIGluY2x1ZGVkIHNldmVyYWwgb2YgdGhlc2UgaW4NCnRoZSBzY3JpcHQgYmVsb3cgYWxvbmcgd2l0aCB0aGVpciBkZWZhdWx0cyB1c2VkIGlmIHlvdSBkbyBub3QgZXhwbGljaXRseQ0Kc3BlY2lmeSBpbiB5b3VyIGZ1bmN0aW9uLiANCg0KYGBge3IgdGV4dFByb2Nlc3Nvcn0NCnRlbXAgPC0gdGV4dFByb2Nlc3NvcihhYnN0cmFjdHNfZGF0YSRBYnN0cmFjdCwgDQogICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhID0gYWJzdHJhY3RzX2RhdGEsICANCiAgICAgICAgICAgICAgICAgICAgbG93ZXJjYXNlPVRSVUUsIA0KICAgICAgICAgICAgICAgICAgICByZW1vdmVzdG9wd29yZHM9VFJVRSwgDQogICAgICAgICAgICAgICAgICAgIHJlbW92ZW51bWJlcnM9VFJVRSwgIA0KICAgICAgICAgICAgICAgICAgICByZW1vdmVwdW5jdHVhdGlvbj1UUlVFLCANCiAgICAgICAgICAgICAgICAgICAgd29yZExlbmd0aHM9YygzLEluZiksDQogICAgICAgICAgICAgICAgICAgIHN0ZW09VFJVRSwNCiAgICAgICAgICAgICAgICAgICAgb25seWNoYXJhY3Rlcj0gRkFMU0UsIA0KICAgICAgICAgICAgICAgICAgICBzdHJpcGh0bWw9VFJVRSwgDQogICAgICAgICAgICAgICAgICAgIGN1c3RvbXN0b3B3b3Jkcz1OVUxMKQ0KYGBgDQoNCk5vdGUgdGhhdCB0aGUgZmlyc3QgYXJndW1lbnQgdGhlIGB0ZXh0UHJvY2Vzc29yYCBmdW5jdGlvbiBleHBlY3RzIGlzIHRoZQ0KY29sdW1uIGluIG91ciBkYXRhIGZyYW1lIHRoYXQgY29udGFpbnMgdGhlIHRleHQgdG8gYmUgcHJvY2Vzc2VkLCB0aGUNCnNlY29uZCBhcmd1bWVudCBgbWV0YWRhdGEgPWAgZXhwZWN0cyB0aGUgZGF0YSBmcmFtZSB0aGF0IGNvbnRhaW5zIHRoZQ0KdGV4dCBvZiBpbnRlcmVzdCBhbmQgdXNlcyB0aGUgY29sdW1uIG5hbWVzIHRvIGxhYmVsIHRoZSBtZXRhZGF0YSBzdWNoIGFzDQpjb3Vyc2UgaWRzIGFuZCBmb3J1bSBuYW1lcy4gVGhpcyBtZWF0ZGF0YSBjYW4gYmUgdXNlZCB0byB0byBpbXByb3ZlIHRoZQ0KYXNzaWdubWVudCBvZiB3b3JkcyB0byB0b3BpY3MgaW4gYSBjb3JwdXMgYW5kIGV4YW1pbmUgdGhlIHJlbGF0aW9uc2hpcA0KYmV0d2VlbiB0b3BpY3MgYW5kIHZhcmlvdXMgY292YXJpYXRlcyBvZiBpbnRlcmVzdC4NCg0KVW5saWtlIHRoZSBgdW5uZXN0X3Rva2VucygpYCBmdW5jdGlvbiwgdGhlIG91dHB1dCBpcyBub3QgYSBuaWNlIHRpZHkNCmRhdGEgZnJhbWUuIFRvcGljIG1vZGVsaW5nIHVzaW5nIHRoZSBgc3RtYCBwYWNrYWdlIHJlcXVpcmVzIGEgdmVyeQ0KdW5pcXVlIHNldCBvZiBpbnB1dHMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIHBhY2thZ2UuIFRoZSBmb2xsb3dpbmcNCmNvZGUgd2lsbCBwdWxsIGVsZW1lbnRzIGZyb20gdGhlIGB0ZW1wYCBsaXN0IHRoYXQgd2FzIGNyZWF0ZWQgdGhhdCB3aWxsDQpiZSByZXF1aXJlZCBmb3IgdGhlIGBzdG0oKWAgZnVuY3Rpb24gd2UnbGwgdXNlIGluIFNlY3Rpb24gNDoNCg0KYGBge3Igc3RtLWlucHV0c30NCm1ldGEgPC0gdGVtcCRtZXRhDQp2b2NhYiA8LSB0ZW1wJHZvY2FiDQpkb2NzIDwtIHRlbXAkZG9jdW1lbnRzDQpgYGANCg0KIyMjIyBTdGVtbWluZyBUaWR5IFRleHQNCg0KTm90aWNlIHRoYXQgdGhlIGB0ZXh0UHJvY2Vzc29yYCBzdGVtIGFyZ3VtZW50IHVzZWQgYWJvdmUgaXMgc2V0IHRvDQpgVFJVRWAgYnkgZGVmYXVsdC4gDQoNCkZvciBub3csIEknbGwgbGVhdmUgYXMgaXQgaXMgaW4gdGhlIGBhYnN0cmFjdHNfZHRtYCBjcmVhdGVkIGVhcmxpZXIuIA0KDQpJZiB3ZSB3YW50ZWQgdG8gc3RlbSB3b3JkcyBpbiBhICJ0aWR5IiB3YXksIG9uZSBhcHByb2FjaCB3b3VsZCBiZSB0byB1c2UgdGhlDQpgd29yZFN0ZW0oKWAgZnVuY3Rpb24gZnJvbSB0aGUgYHNub3diYWxsQ2AgcGFja2FnZSB0byBlaXRoZXIgcmVwbGFjZSB0aGUNCmB3b3Jkc2AgY29sdW1uIHdpdGggYSB3b3JkIHN0ZW1zIG9yIGNyZWF0ZSBhIG5ldyB2YXJpYWJsZSBjYWxsZWQgYHN0ZW1gDQp3aXRoIG91ciBzdGVtbWVkIHdvcmRzLiAgQmVsb3cgSSdsbCBkbyB0aGUgbGF0dGVyIGFuZCB0YWtlIGEgbG9vayBhdCB0aGUNCm9yaWdpbmFsIHdvcmRzIGFuZCB0aGUgc3RlbSB0aGF0IHdhcyBwcm9kdWNlZDoNCg0KYGBge3Igd29yZFN0ZW19DQpzdGVtbWVkX2Fic3RyYWN0cyA8LSBhYnN0cmFjdHNfZGF0YSAlPiUNCiAgdW5uZXN0X3Rva2VucyhvdXRwdXQgPSB3b3JkLCBpbnB1dCA9IEFic3RyYWN0KSAlPiUNCiAgYW50aV9qb2luKHN0b3Bfd29yZHMsIGJ5ID0gIndvcmQiKSAlPiUNCiAgbXV0YXRlKHN0ZW0gPSB3b3JkU3RlbSh3b3JkKSkNCg0Kc3RlbW1lZF9hYnN0cmFjdHMNCmBgYA0KDQoNCiMjIDMuIE1PREVMDQoNCiMjIyAzYS4gRml0dGluZyBhIFRvcGljIE1vZGVsaW5nIHdpdGggTERBDQoNCg0KSSdtIGdvaW5nIHRvIHN0aWNrIHdpdGggaz0yMCB2YWx1ZSBmcm9tIHRoZSBXZWVrIDYgV2Fsa3Rob3VnaC4gVGhpcyBpcyBwcmV0dHkNCmFyYml0cmFyeSwgYnV0IEkgZG9uJ3QgaGF2ZSBhIG5pY2UgZm9ydW0tdG9waWMgY2F0ZWdvcnkgdG8gaGVscCBtZSBzb3J0LiBUaGVyZQ0KYXJlIGFib3V0IDEwMDAgYWJzdHJhY3RzIGFuZCBzZXZlcmFsIGh1bmRyZWQgc2VwYXJhdGUgam91cm5hbHMsIGFuZCBib3RoIG9mIA0KdGhvc2UgbnVtYmVycyBzZWVtIHdheSB0b28gbGFyZ2UgZm9yIGEgdmFsdWUgb2Ygay4NCmBgYHtyIExEQX0NCg0KYWJzdHJhY3RzX2xkYSA8LSBMREEoYWJzdHJhY3RzX2R0bSwgDQogICAgICAgICAgICAgICAgICBrID0gMjAsIA0KICAgICAgICAgICAgICAgICAgY29udHJvbCA9IGxpc3Qoc2VlZCA9IDU4OCkNCiAgICAgICAgICAgICAgICAgICkNCg0KYWJzdHJhY3RzX2xkYQ0KYGBgDQoNCkkgdXNlZCB0aGUgYGNvbnRyb2wgPWAgYXJndW1lbnQgdG8gcGFzcyBhIHJhbmRvbSBudW1iZXINCihgNTg4YCkgdG8gc2VlZCB0aGUgYXNzaWdubWVudCBvZiB0b3BpY3MgdG8gZWFjaCB3b3JkIGluIG91ciBjb3JwdXMuDQpTaW5jZSBMREEgaXMgYSBbc3RvY2hhc3RpYw0KYWxnb3JpdGhtXShodHRwczovL21hY2hpbmVsZWFybmluZ21hc3RlcnkuY29tL3N0b2NoYXN0aWMtaW4tbWFjaGluZS1sZWFybmluZy8pDQp0aGF0IGNvdWxkIGhhdmUgZGlmZmVyZW50IHJlc3VsdHMgZGVwZW5kaW5nIG9uIHdoZXJlIHRoZSBhbGdvcml0aG0NCnN0YXJ0cywgSSBzcGVjaWZpZWQgYSBgc2VlZGAgZm9yIHJlcHJvZHVjaWJpbGl0eS4gSW4gb3RoZXIgd29yZHMsIEknbGwgc2VlDQp0aGUgc2FtZSByZXN1bHRzIGV2ZXJ5IHRpbWUgSSBzcGVjaWZ5IHRoZSBzYW1lIG51bWJlciBvZiB0b3BpY3MuDQoNCiMjIyAzYi4gRml0dGluZyBhIFN0cnVjdHVyYWwgVG9waWMgTW9kZWwNCg0KIyMjIyBUaGUgYHN0bWAgUGFja2FnZQ0KDQpCZWZvcmUgSSBmaXQgbXkgbW9kZWwsIEknbGwgaGF2ZSB0byBleHRyYWN0IHRoZSBlbGVtZW50cyBmcm9tIHRoZQ0KYHRlbXBgIG9iamVjdCBjcmVhdGVkIGFmdGVyIEkgcHJvY2Vzc2VkIHRoZSB0ZXh0LiBTcGVjaWZpY2FsbHksIHRoZQ0KYHN0bSgpYCBmdW5jdGlvbiBleHBlY3RzIHRoZSBmb2xsb3dpbmcgYXJndW1lbnRzOg0KDQotICAgYGRvY3VtZW50cyA9YCB0aGUgZG9jdW1lbnQgdGVybSBtYXRyaXggdG8gYmUgbW9kZWxlZCBpbiB0aGUgbmF0aXZlDQogICAgc3RtIGZvcm1hdA0KLSAgIGBkYXRhID1gIGFuIG9wdGlvbmFsIGRhdGEgZnJhbWUgY29udGFpbmluZyBtZXRhIGRhdGEgZm9yIHRoZQ0KICAgIHByZXZhbGVuY2UgYW5kL29yIGNvbnRlbnQgY292YXJpYXRlcyB0byBpbmNsdWRlIGluIHRoZSBtb2RlbA0KLSAgIGB2b2NhYiA9YCBhIGNoYXJhY3RlciB2ZWN0b3Igc3BlY2lmeWluZyB0aGUgd29yZHMgaW4gdGhlIGNvcnB1cyBpbg0KICAgIHRoZSBvcmRlciBvZiB0aGUgdm9jYWIgaW5kaWNlcyBpbiBkb2N1bWVudHMuDQoNCkknbGwgZXh0cmFjdCB0aGVzZSBlbGVtZW50czoNCg0KYGBge3Igc3RtLWRvY3N9DQpkb2NzIDwtIHRlbXAkZG9jdW1lbnRzIA0KbWV0YSA8LSB0ZW1wJG1ldGEgDQp2b2NhYiA8LSB0ZW1wJHZvY2FiIA0KYGBgDQoNCkFuZCB0aGVuIHVzZSB0aGVzZSBlbGVtZW50cyB0byBmaXQgdGhlIG1vZGVsIHVzaW5nIHRoZSBzYW1lIG51bWJlciBvZg0KdG9waWNzIGZvciAqSyogdGhhdCBJIHNwZWNpZmllZCBmb3IgbXkgTERBIHRvcGljIG1vZGVsLiANCg0KYGBge3Igc3RtfQ0KI3NpbmNlIHRoaXMgdGFrZXMgYSB3aGlsZSwgSSdsbCBzZXQgdmVyYm9zZSA9IFRSVUUgc28gSSBjYW4gc2VlIHRoZSBwcm9jZXNzDQojIHdvcmtpbmcNCg0KYWJzdHJhY3RzX3N0bSA8LSBzdG0oZG9jdW1lbnRzPWRvY3MsIA0KICAgICAgICAgZGF0YT1tZXRhLA0KICAgICAgICAgdm9jYWI9dm9jYWIsIA0KICAgICAgICAgSz0yMCwNCiAgICAgICAgIG1heC5lbS5pdHM9MjUsDQogICAgICAgICB2ZXJib3NlID0gVFJVRSkNCg0KYWJzdHJhY3RzX3N0bQ0KYGBgDQoNClRoZSBgc3RtYCBwYWNrYWdlIGhhcyBhIG51bWJlciBvZiBoYW5keSBmZWF0dXJlcy4gT25lDQpvZiB0aGVzZSBpcyB0aGUgYHBsb3QuU1RNKClgIGZ1bmN0aW9uIGZvciB2aWV3aW5nIHRoZSBtb3N0IHByb2JhYmxlDQp3b3JkcyBhc3NpZ25lZCB0byBlYWNoIHRvcGljLiBCeSBkZWZhdWx0LCBpdCBvbmx5IHNob3dzIHRoZSBmaXJzdCAzIHRlcm1zIHNvIA0KSSdsbCBjaGFuZ2UgdGhhdCB0byA1IHRvIGhlbHAgd2l0aCBpbnRlcnByZXRhdGlvbjoNCg0KYGBge3IgcGxvdC1zdG19DQpwbG90LlNUTShhYnN0cmFjdHNfc3RtLCBuID0gNSkNCmBgYA0KDQpOb3RlIHRoYXQgeW91IGNhbiBhbHNvIGp1c3QgdXNlIGBwbG90KClgIGFzIHdlbGw6DQoNCmBgYHtyIHBsb3R9DQpwbG90KGFic3RyYWN0c19zdG0sIG4gPSA1KQ0KYGBgDQoNCk1hbnkgb2YgdGhlc2UgZmluZGluZ3Mgc2VlbSBpbnR1aXRpdmVseSAicmlnaHQiIHRvIG1lLiBGb3IgZXhhbXBsZSwgVG9waWMgMTcNCnNlZW1zIHRvIGJlIGFib3V0IHNvY2lhbCBtZWRpYSB1c2UgYW5kIGl0cyByb2xlIGluIHByb3ZpZGluZyBpbmZvcm1hdGlvbiAoYSB0eXBlDQpvZiBzb2NpYWwgc3VwcG9ydCkuIFRvcGljIDYgYW5kIFRvcGljIDIgc2VlbSB0byBiZSBhYm91dCBlZHVjYXRpb25hbCB1c2VzIG9mIA0KdGVjaG5vbG9neS4gVG9waWMgNSBzZWVtcyB0byBjZW50ZXIgYXJvdW5kIGdlbmRlciBpZGVudGl0eS4gVG9waWMgOCBzZWVtcw0KdG8gcmVmZXIgdG8gd29yayBwb2xpY2llcyB3aGlsZSB0b3BpYyAxIG1heSByZWZlciB0byBwb2xpY2llcyBvbiBhIHN0YXRlIGFuZCANCm5hdGlvbmFsIHNjYWxlLiBUb3BpYyAxNiwgYW5kIHRvIGEgbGVzc2VyIGRlZ3JlZSAxOSBhbmQgNywgc2VlbSB0byBiZSByZWxhdGVkDQp0byBoZWFsdGhjYXJlIGFuZCwgcG9zc2libHksIGhlYWx0aC1yZWxhdGVkIHJlc2VhcmNoLiBUb3BpYyAxOCBzZWVtcyB0byBiZSBhYm91dA0KdGhlIGNhcmVnaXZpbmcgcm9sZSwgcGFydG5lcnMsIGFuZCB2aW9sZW5jZS4NCg0KU29tZSBpbnRlcmVzdGluZyB0cmVuZHMgYXJlIFRvcGljIDksIHdoaWNoIHNlZW1zIGhlYXZpbHkgd2VpZ2h0ZWQgdG93YXJkIHNtb2tpbmcNCmNlc3NhdGlvbiBwcm9ncmFtcy4gVGhpcyBsZWFkcyBtZSB0byB3b25kZXIgd2hldGhlciBjYXJlZ2l2ZXJzIG9yIG1vdGhlcnMgaW4gDQpwYXJ0aWN1bGFyIGFyZSB1c2luZyBzbW9raW5nIGFzIGEgY29waW5nIHN0cmF0ZWd5LiBPbiBhIG1vcmUgcG9zaXRpdmUgbm90ZSwgVG9waWMNCjEwIHNlZW1zIHRvIGJlIGFib3V0IGVudHJlcHJlbmV1cnNoaXAgYW5kIGJ1c2luZXNzIGVuZGVhdm9ycywgc3VnZ2VzdGluZyB0aGF0IA0KcGVyaGFwcyBtb3RoZXJzIHVzZSB0ZWNobm9sb2d5IHRvIGZ1cnRoZXIgdGhlaXIgZW50cmVwcmVuZXVyaWFsIG9yIGNhcmVlciANCmVuZGVhdm9ycy4gDQoNCiMjIyAzYy4gRmluZGluZyAqSyoNCg0KVGhlcmUgYXJlIHNldmVyYWwgYXBwcm9hY2hlcyB0byBlc3RpbWF0aW5nIGEgdmFsdWUgZm9yIEsuIEknbGwgdHJ5IG9uZSBmcm9tIHRoZSBgbGRhdHVuaW5nYCBwYWNrYWdlIGFuZCBvbmUgZnJvbSBvdXIgYHN0bWANCnBhY2thZ2UuDQoNCiMjIyMgVGhlIEZpbmRUb3BpY3NOdW1iZXIgRnVuY3Rpb24NCg0KVGhlIGBsZGF0dW5pbmdgIHBhY2thZ2UgaGFzIGZ1bmN0aW9ucyBmb3IgYm90aCBjYWxjdWxhdGluZyBhbmQgcGxvdHRpbmcNCmRpZmZlcmVudCBtZXRyaWNzIHRoYXQgY2FuIGJlIHVzZWQgdG8gZXN0aW1hdGUgdGhlIG1vc3QgcHJlZmVyYWJsZQ0KbnVtYmVyIG9mIHRvcGljcyBmb3IgTERBIG1vZGVsLiBJdCBhbHNvIGNvbnZlbmllbnRseSB0YWtlcyB0aGUgc3RhbmRhcmQNCmRvY3VtZW50IHRlcm0gbWF0cml4IG9iamVjdCB0aGF0IHdlIGNyZWF0ZWQgZnJvbSBvdXQgdGlkeSB0ZXh0IGFuZCBoYXMNCnRoZSBhZGRlZCBiZW5lZml0IG9mIHJ1bm5pbmcgZmFpcmx5IHF1aWNrbHksIGVzcGVjaWFsbHkgY29tcGFyZWQgdG8gdGhlDQpmdW5jdGlvbiBmb3IgZmluZGluZyBLIGZyb20gdGhlIGBzdG1gIHBhY2thZ2UuDQoNCkxldCdzIHVzZSB0aGUgZGVmYXVsdHMgc3BlY2lmaWVkIGluIHRoZSBgP0ZpbmRUb3BpY051bWJlcmAgZG9jdW1lbnRhdGlvbg0KYW5kIG1vZGlmeSBzbGlnaHRseSBnZXQgbWV0cmljcyBmb3IgYSBzZXF1ZW5jZSBvZiB0b3BpY3MgZnJvbSAxMC03NQ0KY291bnRpbmcgYnkgNSBhbmQgcGxvdCB0aGUgb3V0cHV0IHdlIHNhdmVkIHVzaW5nIHRoZQ0KYEZpbmRUb3BpY3NOdW1iZXJfcGxvdCgpYCBmdW5jdGlvbjoNCg0KYGBge3IgZmluZC10b3BpYywgZXZhbD1GQUxTRX0NCiMgVGhpcyB0b29rIGFib3V0IDIwIG1pbiBmb3IgbWUNCmtfbWV0cmljcyA8LSBGaW5kVG9waWNzTnVtYmVyKA0KICBhYnN0cmFjdHNfZHRtLA0KICB0b3BpY3MgPSBzZXEoMTAsIDc1LCBieSA9IDUpLA0KICBtZXRyaWNzID0gIkdyaWZmaXRoczIwMDQiLA0KICBtZXRob2QgPSAiR2liYnMiLA0KICBjb250cm9sID0gbGlzdCgpLA0KICBtYy5jb3JlcyA9IE5BLA0KICByZXR1cm5fbW9kZWxzID0gRkFMU0UsDQogIHZlcmJvc2UgPSBGQUxTRSwNCiAgbGlicGF0aCA9IE5VTEwNCikNCg0KRmluZFRvcGljc051bWJlcl9wbG90KGtfbWV0cmljcykNCmBgYA0KVGhpcyBzZWVtcyB0byBpbmRpY2F0ZSB0aGF0IDI1IG1heSBiZSBhIG1vcmUgYXBwcm9wcmlhdGUgdmFsdWUgZm9yIGsuDQoNCg0KIyMjIyBUaGUgTERBdmlzIEV4cGxvcmVyDQoNCk9uZSBmaW5hbCB0b29sIHRoYXQgSSB3YW50IHRvIGludHJvZHVjZSBmcm9tIHRoZSBgc3RtYCBwYWNrYWdlIGlzIHRoZQ0KYHRvTERBdmlzKClgIGZ1bmN0aW9uIHdoaWNoIHByb3ZpZGVzIGEgZ3JlYXQgdmlzdWFsaXphdGlvbnMgZm9yDQpleHBsb3JpbmcgdG9waWMgYW5kIHdvcmQgZGlzdHJpYnV0aW9ucyB1c2luZyBgTERBdmlzYCB0b3BpYyBicm93c2VyOg0KDQpgYGB7cn0NCiNpbnN0YWxsaW5nIGFkZGl0aW9uYWwgcGFja2FnZSBmb3IgdG9MREF2aXMgZnVuY3Rpb24NCiNpbnN0YWxsLnBhY2thZ2VzKCJzZXJ2ciIpDQojbGlicmFyeShzZXJ2cikNCmBgYA0KDQoNCmBgYHtyIExEQXZpc30NCnRvTERBdmlzKG1vZCA9IGFic3RyYWN0c19zdG0sIGRvY3MgPSBkb2NzKQ0KYGBgDQoNCg0KVGhlIGN1cnJlbnQgc3RtIG1vZGVsIG9mIDIwIHRvcGljcyBpcyByZXN1bHRpbmcgaW4gc29tZSBvdmVybGFwIGFtb25nIHRvcGljcyBhbmQgc3VnZ2VzdHMgdGhhdCAyMCBtYXkgbm90IGJlIGFuIG9wdGltYWwgbnVtYmVyIG9mIHRvcGljcy4gVGhpcyBpcyBpbnRlcmVzdGluZywgDQpzaW5jZSBwcmV2aW91cyBhbmFseXNpcyBzdWdnZXN0ZWQgMjUgbWF5IGFjdHVhbGx5IGJlIHRoZSBvcHRpbWFsIHZhbHVlIG9mIGsuDQoNCiMjIDQuIEVYUExPUkUNCg0KU2lsZ2UgYW5kIFJvYmluc29uICgyMDE4KSBub3RlIHRoYXQgZml0dGluZyBhdCB0b3BpYyBtb2RlbCBpcyB0aGUgImVhc3kNCnBhcnQuIiBUaGUgaGFyZCBwYXJ0IGlzIG1ha2luZyBzZW5zZSBvZiB0aGUgbW9kZWwgcmVzdWx0cyBhbmQgdGhhdCB0aGUNCnJlc3Qgb2YgdGhlIGFuYWx5c2lzIGludm9sdmVzIGV4cGxvcmluZyBhbmQgaW50ZXJwcmV0aW5nIHRoZSBtb2RlbCB1c2luZw0KYSB2YXJpZXR5IG9mIGFwcHJvYWNoZXMgd2hpY2ggSSdsbCBleHBsb3JlIGJlbG93Lg0KDQoNCiMjIyA0YS4gRXhwbG9yaW5nIEJldGEgVmFsdWVzDQoNCkhpZGRlbiB3aXRoaW4gdGhpcyBgYWJzdHJhY3RzX2xkYWAgdG9waWMgbW9kZWwgb2JqZWN0IEkgY3JlYXRlZCBhcmUNCnBlci10b3BpYy1wZXItd29yZCBwcm9iYWJpbGl0aWVzLCBjYWxsZWQgzrIgKCJiZXRhIikuIEl0IGlzIHRoZQ0KcHJvYmFiaWxpdHkgb2YgYSB0ZXJtICh3b3JkKSBiZWxvbmdpbmcgdG8gYSB0b3BpYy7CoA0KDQpJJ2xsIHRha2UgYSBsb29rIGF0IHRoZSA1IG1vc3QgbGlrZWx5IHRlcm1zIGFzc2lnbmVkIHRvIGVhY2ggdG9waWMsDQppLmUuIHRob3NlIHdpdGggdGhlIGxhcmdlc3QgzrIgdmFsdWVzIHVzaW5nIHRoZSBgdGVybXMoKWAgZnVuY3Rpb24gZnJvbQ0KdGhlIGB0b3BpY21vZGVsc2AgcGFja2FnZToNCg0KYGBge3IgdGVybXN9DQp0ZXJtcyhhYnN0cmFjdHNfbGRhLCA1KQ0KYGBgDQoNClRoZXJlIHNlZW0gdG8gYmUgc29tZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSB0b3BpY3MgaWRlbnRpZmllZCBoZXJlIGFuZCB3aGF0DQpwcmV2aW91cyBhbmFseXNpcyBzdWdnZXN0ZWQuIEknbSBzdGlsbCBzZWVpbmcgdG9waWNzIHJlbGF0ZWQgdG8gc21va2luZywgDQplbnRyZXByZW5ldXJzaGlwLCBoZWFsdGhjYXJlIGFuZCBoZWFsdGhjYXJlIHJlc2VhcmNoLiBIb3dldmVyLCB0aGUgdG9waWMNCnJlbGF0ZWQgdG8gc3RhdGUgYW5kIG5hdGlvbmFsIHBvbGljeSBpc24ndCBzaG93aW5nIHVwIGhlcmUsIG5vciBpcyB0aGUgdG9waWMNCnJlbGF0ZWQgdG8gcGFydG5lcnMuDQoNCkl0IGlzIGNsZWFyLCBob3dldmVyLCB0aGF0IHRocmVlIHNwZWNpZmljIHRvcGljcyByZWxhdGVkIHRvIGhlYWx0aCBoYXZlIA0KcHJvbWluZW5jZTogSElWLCBzbW9raW5nIGNlc3NhdGlvbiwgYW5kIEFTRCAoaW4gdG9waWMgMTQpLiBBU0QiIHJlbGF0ZXMgdG8gb25lIA0Kb2YgbXkgcmVzZWFyY2ggcXVlc3Rpb25zLiBTcGVjaWZpY2FsbHksIGl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgc29tZSANCnJlbGF0aW9uc2hpcCBiZXR3ZWVuIG1vdGhlcnMsIHN1cHBvcnQsIHRlY2hub2xvZ3ksIG1vdGl2YXRpb24sIGFuZCBhdXRpc20NCnNwZWN0cnVtIGRpc29yZGVycy4gVGhpcyBtYWtlcyBzb21lIHNlbnNlLiBBdXRpc20gaXMgcHJpbWFyaWx5IGEgY29tbXVuaWNhdGlvbg0KZGlzb3JkZXIsIHdoaWNoIGNhbiBoYXZlIGltcGxpY2F0aW9ucyBmb3Igc29jaWFsIGludGVyYWN0aW9uIGFuZCBiZWhhdmlvci4gDQpQYXJlbnRzIHdpdGggYXV0aXNtIG1heSBleHBlcmllbmNlIG1vcmUgaXNvbGF0aW9uIHRoYW4gb3RoZXIgcGFyZW50cyBvZiBraWRzDQp3aXRoIGRpc2FiaWxpdGllcyBkdWUgdG8gdGhlIGJlaGF2aW9yYWwgaXNzdWVzIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBBU0QuIA0KVGhhdCBtYXkgcHJvbXB0IHRoZW0gdG8gc2VlayBzb2NpYWwgc3VwcG9ydCAoZW1vdGlvbmFsIGFuZCBvdGhlcikgb25saW5lLg0KDQpUaGF0J3MganVzdCBhIGh1bmNoLCB0aG91Z2guIEkgd291bGQgbmVlZCB0byBzaWZ0IHRocm91Z2ggdGhlIGFjdHVhbCBjb250ZW50DQpvZiB0aGUgYWJzdHJhY3RzIHRvIHVuZGVyc3RhbmQgYmV0dGVyLg0KDQpVc2luZyB0aGUgYHRpZHl0ZXh0YCBwYWNrYWdlJ3MgYHRpZHkoKWAgZnVuY3Rpb24sIEknbGwgY29udmVydCB0aGUgbGRhIG1vZGVsIA0KdG8gYSB0aWR5IGRhdGEgZnJhbWUgY29udGFpbmluZyB0aGVzZSBiZXRhIHZhbHVlcyBmb3IgZWFjaCB0ZXJtOg0KDQpgYGB7ciB0aWR5X2xkYX0NCg0KdGlkeV9sZGEgPC0gdGlkeShhYnN0cmFjdHNfbGRhKQ0KDQp0aWR5X2xkYQ0KYGBgDQoNCk9idmlvdXNseSwgaXQncyBub3QgdmVyeSBlYXN5IHRvIGludGVycHJldCB3aGF0IHRoZSB0b3BpY3MgYXJlIGFib3V0DQpmcm9tIGEgZGF0YSBmcmFtZSBsaWtlIHRoaXMgc28gSSdsbCBib3Jyb3cgY29kZSBhZ2FpbiBmcm9tIFtDaGFwdGVyDQo4LjQuMyBJbnRlcnByZXRpbmcgdGhlIHRvcGljDQptb2RlbF0oaHR0cHM6Ly93d3cudGlkeXRleHRtaW5pbmcuY29tL25hc2EuaHRtbD9xPWJldGEjaW50ZXJwcmV0aW5nLXRoZS10b3BpYy1tb2RlbCkNCmluIFRleHQgTWluaW5nIHdpdGggUiB0byBleGFtaW5lIHRoZSB0b3AgNSB0ZXJtcyBmb3IgZWFjaCB0b3BpYyBhbmQgdGhlbg0KbG9vayBhdCB0aGlzIGluZm9ybWF0aW9uIHZpc3VhbGx5Og0KDQpgYGB7ciB0b3BfdGVybXN9DQoNCnRvcF90ZXJtcyA8LSB0aWR5X2xkYSAlPiUNCiAgZ3JvdXBfYnkodG9waWMpICU+JQ0KICBzbGljZV9tYXgoYmV0YSwgbiA9IDUsIHdpdGhfdGllcyA9IEZBTFNFKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICBhcnJhbmdlKHRvcGljLCAtYmV0YSkNCg0KdG9wX3Rlcm1zICU+JQ0KICBtdXRhdGUodGVybSA9IHJlb3JkZXJfd2l0aGluKHRlcm0sIGJldGEsIHRvcGljKSkgJT4lDQogIGdyb3VwX2J5KHRvcGljLCB0ZXJtKSAlPiUgICAgDQogIGFycmFuZ2UoZGVzYyhiZXRhKSkgJT4lICANCiAgdW5ncm91cCgpICU+JQ0KICBnZ3Bsb3QoYWVzKGJldGEsIHRlcm0sIGZpbGwgPSBhcy5mYWN0b3IodG9waWMpKSkgKw0KICBnZW9tX2NvbChzaG93LmxlZ2VuZCA9IEZBTFNFKSArDQogIHNjYWxlX3lfcmVvcmRlcmVkKCkgKw0KICBsYWJzKHRpdGxlID0gIlRvcCA1IHRlcm1zIGluIGVhY2ggTERBIHRvcGljIiwNCiAgICAgICB4ID0gZXhwcmVzc2lvbihiZXRhKSwgeSA9IE5VTEwpICsNCiAgZmFjZXRfd3JhcCh+IHRvcGljLCBuY29sID0gNCwgc2NhbGVzID0gImZyZWUiKQ0KYGBgDQoNCiMjIyA0Yi4gRXhwbG9yaW5nIEdhbW1hIFZhbHVlcw0KDQpOb3cgdGhhdCBJIGhhdmUgYSBzZW5zZSBvZiB0aGUgbW9zdCBjb21tb24gd29yZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gNCnRvcGljLCBJJ2xsIHRha2UgYSBsb29rIGF0IHRoZSB0b3BpYyBwcmV2YWxlbmNlIGluIHRoZSBhYnN0cmFjdHMgY29ycHVzLCANCmluY2x1ZGluZyB0aGUgd29yZHMgdGhhdCBjb250cmlidXRlIHRvIGVhY2ggdG9waWMgSSBleGFtaW5lZCBhYm92ZS4NCg0KQWxzbywgaGlkZGVuIHdpdGhpbiB0aGUgYGFic3RyYWN0c19sZGFgIHRvcGljIG1vZGVsIG9iamVjdCB3ZSBjcmVhdGVkIGFyZQ0KcGVyLWRvY3VtZW50LXBlci10b3BpYyBwcm9iYWJpbGl0aWVzLCBjYWxsZWQgzrMgKCJnYW1tYSIpLiBUaGlzIHByb3ZpZGVzDQp0aGUgcHJvYmFiaWxpdGllcyB0aGF0IGVhY2ggZG9jdW1lbnQgaXMgZ2VuZXJhdGVkIGZyb20gZWFjaCB0b3BpYywgdGhhdA0KZ2FtbWEgbWF0cml4LiBJIGNhbiBjb21iaW5lIHRoZSBiZXRhIGFuZCBnYW1tYSB2YWx1ZXMgdG8gdW5kZXJzdGFuZCB0aGUNCnRvcGljIHByZXZhbGVuY2UgaW4gdGhlIGNvcnB1cywgYW5kIHdoaWNoIHdvcmRzIGNvbnRyaWJ1dGUgdG8gZWFjaA0KdG9waWMuDQoNClRvIGRvIHRoaXMsIEknbSBnb2luZyB0byBib3Jyb3cgc29tZSBjb2RlIGZyb20gdGhlIFNpbGdlICgyMDE4KSBwb3N0LA0KW1RyYWluaW5nLCBldmFsdWF0aW5nLCBhbmQgaW50ZXJwcmV0aW5nIHRvcGljDQptb2RlbHNdKGh0dHBzOi8vanVsaWFzaWxnZS5jb20vYmxvZy9ldmFsdWF0aW5nLXN0bS8pLg0KDQpGaXJzdCwgSSdsbCBjcmVhdGUgdHdvIHRpZHkgZGF0YSBmcmFtZXMgZm9yIHRoZSBiZXRhIGFuZCBnYW1tYSB2YWx1ZXMNCg0KYGBge3IgYmV0YV9nYW1tYX0NCnRkX2JldGEgPC0gdGlkeShhYnN0cmFjdHNfbGRhKQ0KDQp0ZF9nYW1tYSA8LSB0aWR5KGFic3RyYWN0c19sZGEsIG1hdHJpeCA9ICJnYW1tYSIpDQoNCnRkX2JldGENCnRkX2dhbW1hDQoNCmBgYA0KDQpOZXh0LCBJJ2xsIGFkb3B0IEp1bGlhJ3MgY29kZSB3aG9sZXNhbGUgdG8gY3JlYXRlIGEgZmlsdGVyZWQgZGF0YSBmcmFtZQ0Kb2Ygb3VyIGB0b3BfdGVybXNgLCBqb2luIHRoaXMgdG8gYSBuZXcgZGF0YSBmcmFtZSBmb3IgYGdhbW1hLXRlcm1zYCBhbmQNCmNyZWF0ZSBhIG5pY2UgY2xlYW4gdGFibGUgdXNpbmcgdGhlIGBrYWJlbCgpYCBmdW5jdGlvbiBmcm9tIHRoZSBga25pdHJgIHBhY2thZ2U6DQoNCmBgYHtyIHByZXZhbGVuY2VfdGFibGV9DQp0b3BfdGVybXMgPC0gdGRfYmV0YSAlPiUNCiAgYXJyYW5nZShiZXRhKSAlPiUNCiAgZ3JvdXBfYnkodG9waWMpICU+JQ0KICB0b3Bfbig3LCBiZXRhKSAlPiUNCiAgYXJyYW5nZSgtYmV0YSkgJT4lDQogIHNlbGVjdCh0b3BpYywgdGVybSkgJT4lDQogIHN1bW1hcmlzZSh0ZXJtcyA9IGxpc3QodGVybSkpICU+JQ0KICBtdXRhdGUodGVybXMgPSBtYXAodGVybXMsIHBhc3RlLCBjb2xsYXBzZSA9ICIsICIpKSAlPiUgDQogIHVubmVzdCgpDQoNCmdhbW1hX3Rlcm1zIDwtIHRkX2dhbW1hICU+JQ0KICBncm91cF9ieSh0b3BpYykgJT4lDQogIHN1bW1hcmlzZShnYW1tYSA9IG1lYW4oZ2FtbWEpKSAlPiUNCiAgYXJyYW5nZShkZXNjKGdhbW1hKSkgJT4lDQogIGxlZnRfam9pbih0b3BfdGVybXMsIGJ5ID0gInRvcGljIikgJT4lDQogIG11dGF0ZSh0b3BpYyA9IHBhc3RlMCgiVG9waWMgIiwgdG9waWMpLA0KICAgICAgICAgdG9waWMgPSByZW9yZGVyKHRvcGljLCBnYW1tYSkpDQoNCmdhbW1hX3Rlcm1zICU+JQ0KICBzZWxlY3QodG9waWMsIGdhbW1hLCB0ZXJtcykgJT4lDQogIGthYmxlKGRpZ2l0cyA9IDMsIA0KICAgICAgICBjb2wubmFtZXMgPSBjKCJUb3BpYyIsICJFeHBlY3RlZCB0b3BpYyBwcm9wb3J0aW9uIiwgIlRvcCA3IHRlcm1zIikpDQpgYGANCg0KSSdsbCBhbHNvIGNvbXBhcmUgdGhpcyB0byB0aGUgbW9zdCBwcmV2YWxlbnQgdG9waWNzIGFuZCB0ZXJtcyBmcm9tDQpvdXIgYGZvcnVtc19zdG1gIG1vZGVsIGNyZWF0ZWQgdXNpbmcgdGhlIGBwbG90KClgIGZ1bmN0aW9uOg0KDQpgYGB7ciBwbG90X3N0bX0NCnBsb3QoYWJzdHJhY3RzX3N0bSwgbiA9IDcpDQpgYGANCg0KIyMjIDRjLiBSZWFkaW5nIHRoZSBUZWEgTGVhdmVzDQoNClJlY29nbml6aW5nIHRoYXQgdG9waWMgbW9kZWxpbmcgaXMgYmVzdCB1c2VkIGFzIGEgInRvb2wgZm9yIHJlYWRpbmciIGFuZA0KcHJvdmlkZXMgb25seSBhbiBpbmNvbXBsZXRlIGFuc3dlciB0byBvdXIgb3ZlcmFyY2hpbmcsICoqIkhvdyBkbyB3ZQ0KcXVhbnRpZnkgd2hhdCBhIGNvcnB1cyBpcyBhYm91dD8iKiosIHRoZSByZXN1bHRzIGRvIHN1Z2dlc3Qgc29tZQ0KcG90ZW50aWFsIHRvcGljcyB0aGF0IGhhdmUgZW1lcmdlLCBhcyB3ZWxsIGFzIHNvbWUgYXJlYXMgd29ydGggZm9sbG93aW5nDQp1cCBvbi4NCg0KU3BlY2lmaWNhbGx5LCBsb29raW5nIGF0IHNvbWUgb2YgdGhlIGNvbW1vbiBjbHVzdGVycyBvZiB3b3JkcyBmb3IgdGhlDQptb3JlIHByZXZhbGVudCB0b3BpY3Mgc3VnZ2VzdCB0aGF0IHNvbWUga2V5IHRvcGljcyBvciAibGF0ZW50IHRoZW1lcyINCihyZW5hbWVkIGluIGJvbGQpIG1pZ2h0IGluY2x1ZGU6DQoNCi0gICAqKkVudHJlcHJlbmV1cnNoaXA6KiogSSB3YXMgcGxlYXNhbnRseSBzdXJwcmlzZWQgdG8gc2VlIHRoaXMgdG9waWMgZW1lcmdlLg0KICAgIEl0IHNlZW1zIHRvIGluZGljYXRlIHRoYXQgbW90aGVycyBzZWUgYSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0ZWNobm9sb2d5DQogICAgYW5kIHRoZWlyIGNhcmVlcnMsIHNwZWNpZmljYWxseSBpbiB0aGUgcmVhbG0gb2YgZW50cmVwcmVuZXVyc2hpcC4gSSdkDQogICAgbGlrZSB0byBpbnZlc3RpZ2F0ZSB0aGlzIHRvcGljIGZ1cnRoZXINCi0gICAqKlRoZSBEYW5nIFBhbmRlbWljOioqIENvdmlkLTE5IGlzIHN1cmVseSB0aGUgZ3Vlc3QgdGhhdCBoYXMgdGhlIHdvcmxkDQogICAgcmVjb3JkIGZvciBvdmVyc3RheWluZyBpdHMgd2VsY29tZS4gTm90IHN1cnByaXNpbmdseSwgaXQncyBhIHByZXZhbGVudA0KICAgIHRvcGljIGluIHRoZSBjb3JwdXMsIGFuZCBzZWVtcyB0byBiZSBsaW5rZWQgd2l0aCBzY2hvb2wgYW5kIGVkdWNhdGlvbi4NCiAgICBUaGlzIGlzIG5vdCByZWFsbHkgc3VycHJpc2luZywgYXMgb3RoZXIgbGl0ZXJhdHVyZSBzdWdnZXN0cyB0aGF0IG1vdGhlcnMNCiAgICB3ZXJlIGRpc3Byb3BvcnRpb25hdGVseSB0aGUgb25lcyBmYWNpbGl0YXRpbmcgb25saW5lIGxlYXJuaW5nDQogICAgZHVyaW5nIHRoZSBkYXJrZXN0IGRheXMgb2YgdGhlIHBhbmRlbWljLg0KLSAgICoqRWR1Y2F0aW9uKiogRWR1Y2F0aW9uIGFsc28gc3VyZmFjZXMgbW9yZSBicm9hZGx5LiBUaGVyZSBhcmUgbWVudGlvbnMgb2YgDQogICAgb25saW5lIGxlYXJuaW5nLCBTVEVNLCByZWFkaW5nLCBhbmQgb3RoZXIgdG9waWNzIHJlbGF0ZWQgdG8gdGVhY2hpbmcsIA0KICAgIGxlYXJuaW5nIGFuZCBzY2hvb2xzLg0KLSAgICoqSGVhbHRoIC0gQVNEKiogQSBzaWduaWZpY2FudCBwb3J0aW9uIG9mIHRoZSBjb3JwdXMgaXMgcmVsYXRlZCB0byBoZWFsdGgsIA0KICAgIGhlYWx0aGNhcmUsIGFuZCBoZWFsdGgtcmVsYXRlZCByZXNlYXJjaC4gU3BlY2lmaWMgaGVhbHRoIHRvcGljcyBjZW50ZXINCiAgICBhcm91bmQgc21va2luZy9zbW9raW5nIGNlc3NhdGlvbiAod2l0aCBzb21lIG1lbnRpb24gb2YgcGh5c2ljYWwgYWN0aXZpdHkpLCANCiAgICBISVYvQUlEUywgYW5kIGF1dGlzbSBzcGVjdHJ1bSBkaXNvcmRlcnMuIFRIaXMgbGF0dGVyIHRvcGljIGlzIGludGVyZXN0aW5nDQogICAgYmVjYXVzZSBpdCBkaXJlY3RseSByZWxhdGVzIHRvIG9uZSBvZiBteSByZXNlYXJjaCBxdWVzdGlvbnMgYW5kIGFwcGVhcmVkDQogICAgcmVnYXJkbGVzcyBvZiB0aGUgZmFjdCB0aGF0IG15IGluaXRpYWwgc2VhcmNoIGZvciBhYnN0cmFjdHMgZGlkIG5vdCBpbmNsdWRlDQogICAgYW55IHRlcm1zIHJlbGF0ZWQgdG8gYXV0aXNtIG9yIHNwZWNpYWwgbmVlZHMuIEJleW9uZCB0aGlzLCB0aGUgdG9wIHRlcm1zIA0KICAgIHN1Z2dlc3QgdGhhdCBtb3RoZXJzIG9mIGNoaWxkcmVuIHdpdGggQVNEIGFyZSBwcmltYXJpbHkgc2Vla2luZyBlbW90aW9uYWwNCiAgICBzdXBwb3J0LCBpbmRpY2F0ZWQgYnkgdGVybXMgc3VjaCBhcyAiZGVwcmVzc2lvbiIgYW5kICJtZW50YWwiLiBNb3JlIA0KICAgIGludmVzdGlnYXRpb24sIGhvd2V2ZXIsIGlzIG5lZWRlZCB0byBjb25maXJtIHRoaXMuDQotICAgKipTb2NpYWwgTWVkaWEgJiBEaWdpdGFsIENvbW11bmljYXRpb24qKiBUaGlzIHRvcGljIG1heSBpbmRpY2F0ZSB0aGF0DQogICAgdGVjaG5vbG9neSBpcyB1c2VkIGxhcmdlbHkgYXMgYSBmb3JtIG9mIHNvY2lhbCBjb25uZWN0aW9uIGFuZCBjb21tdW5pY2F0aW9uLg0KDQoNClRvIHNlcnZlIGFzIGEgY2hlY2sgb24gbXkgdGVhIGxlYWYgcmVhZGluZywgSSdtIGdvaW5nIHRvIGZvbGxvdyBCYWlsJ3MNCnJlY29tbWVuZGF0aW9uIHRvIGV4YW1pbmUgc29tZSBvZiB0aGVzZSB0b3BpY3MgcXVhbGl0YXRpdmVseS4gVGhlIGBzdG1gDQpwYWNrYWdlIGhhcyBhbm90aGVyIHVzZWZ1bCBmdW5jdGlvbiB0aG91Z2ggZXhjZXB0aW9uYWxseSBmdXNzeSBmdW5jdGlvbg0KY2FsbGVkIGBmaW5kVGhvdWdodHNgIHdoaWNoIGV4dHJhY3RzIHBhc3NhZ2VzIGZyb20gZG9jdW1lbnRzIHdpdGhpbiB0aGUNCmNvcnB1cyBhc3NvY2lhdGUgd2l0aCB0b3BpY3MgdGhhdCB5b3Ugc3BlY2lmeS4NCg0KVGhlIGZpcnN0IGxpbmUgb2YgY29kZSBtYXkgbm90IGJlIG5lY2Vzc2FyeSBmb3IgeW91ciBpbmRlcGVuZGVudA0KYW5hbHlzaXMsIGJ1dCBiZWNhdXNlIHRoZSBgdGV4dFByb2Nlc3NvcigpYCBmdW5jdGlvbiByZW1vdmVkIHNldmVyYWwNCmRvY3VtZW50cyBkdXJpbmcgcHJvY2Vzc2luZywgdGhlIGBmaW5kdGhvdWdodHMoKWAgZnVuY3Rpb24gY2FuJ3QNCnByb3Blcmx5IGluZGV4IHRoZSBwcm9jZXNzZWQgZG9jcy4gVGhpcyBbbGluZSBvZiBjb2RlIGZvdW5kIG9uDQpzdGFja292ZXJmbG93XShodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80MzQ5MjY2Ny9yLXN0bS1udW1iZXItb2YtcHJvdmlkZWQtdGV4dHMtYW5kLW51bWJlci1vZi1kb2N1bWVudHMtbW9kZWxlZC1kby1ub3QtbWF0Y2gpDQpyZW1vdmVzIGRvY3VtZW50cyBmcm9tIG9yaWdpbmFsIGBhYnN0cmFjdHNfZGF0YWAgc291cmNlIHRoYXQgd2VyZSByZW1vdmVkDQpkdXJpbmcgcHJvY2Vzc2luZyBzbyB0aGVyZSBpcyBhIG9uZS10by1vbmUgY29ycmVzcG9uZGVuY2Ugd2l0aA0KYGFic3RyYWN0c19zdG1gIGFuZCBzbyB5b3UgY2FuIHVzZSB0aGUgZnVuY3Rpb24gdG8gZmluZCBwb3N0cyBhc3NvY2lhdGVkDQp3aXRoIGEgZ2l2ZW4gdG9waWMuDQoNCkxldCdzIHNsaWdodGx5IHJlZHVjZSBvdXIgb3JpZ2luYWwgZGF0YSBzZXQgdG8gbWF0Y2ggb3VyIFNUTSBtb2RlbCwgcGFzcw0KYm90aCB0byB0aGUgYGZpbmRUaG91Z2h0cygpYCBmdW5jdGlvbiwgYW5kIHNldCBvdXIgYXJndW1lbnRzIHRvIHJldHVybg0KYG4gPSAxMGAgcG9zdHMgZnJvbSBgdG9waWNzID0gMTRgIChpLmUuIFRvcGljIDE0KSB0aGF0IGhhdmUgYXQgbGVhc3QgNTAlIG9yDQpgdGhyZXNoID0gMC41YCBhcyBhIG1pbmltdW0gdGhyZXNob2xkIGZvciB0aGUgZXN0aW1hdGVkIHRvcGljDQpwcm9wb3J0aW9uLg0KDQpgYGB7ciBmaW5kVGhvdWdodHNfMTR9DQojVG9waWMgMTAgaXMgdGhlIHRvcGljIHJlbGF0ZWQgdG8gQVNEDQphYnN0cmFjdHNfZGF0YV9yZWR1Y2VkIDwtYWJzdHJhY3RzX2RhdGEkQWJzdHJhY3RbLXRlbXAkZG9jcy5yZW1vdmVkXQ0KDQpmaW5kVGhvdWdodHMoYWJzdHJhY3RzX3N0bSwNCiAgICAgICAgICAgICB0ZXh0cyA9IGFic3RyYWN0c19kYXRhX3JlZHVjZWQsDQogICAgICAgICAgICAgdG9waWNzID0gMTQsIA0KICAgICAgICAgICAgIG4gPSAxMCwNCiAgICAgICAgICAgICB0aHJlc2ggPSAwLjUpDQpgYGANCg0KVGhlc2UgcG9zdHMgc2VlbSBub3QgdG8gYWRkcmVzcyBBU0QgYXQgYWxsIChobW1tKSBidXQgZG8gZGlzY3VzcyBzb2NpYWwgaXNvbGF0aW9uDQppbiBhIHZhcmlldHkgb2YgaGVhbHRoIGNvbnRleHRzdC4NCg0KTm93IEknbSBnb2luZyB0byB0YWtlIGEgbG9vayBhdCBUb3BpYyA1IHRoYXQgSSB0aG91Z2h0IG1pZ2h0IGJlIHJlbGF0ZWQgdG8NCm1vdGhlcnMgYW5kIGVudHJlcHJlbmV1cnNoaXA6DQoNCmBgYHtyIGZpbmRUaG91Z2h0c181fQ0KDQpmaW5kVGhvdWdodHMoYWJzdHJhY3RzX3N0bSwNCiAgICAgICAgICAgICB0ZXh0cyA9IGFic3RyYWN0c19kYXRhX3JlZHVjZWQsDQogICAgICAgICAgICAgdG9waWNzID0gNSwgDQogICAgICAgICAgICAgbiA9IDEwLA0KICAgICAgICAgICAgIHRocmVzaCA9IDAuNSkNCmBgYA0KDQpUaGlzIG9uZSBzZWVtcyB0byBiZSBtdWNoIG1vcmUgb24gdGFyZ2V0LiBUaGVyZSBhcmUgc29tZSBpcnJlbGV2YW50IGFic3RyYWN0cywNCmJ1dCBtb3N0IGluY2x1ZGUgdG9waWNzIHN1cnJvdW5kaW5nIGZlbWFsZSBlbnRyZXByZW5ldXJzLCB3b21lbidzIHJvbGUgaW4gDQplY29ub21pYyBkZXZlbG9wbWVudCwgd29tZW4gYXMgbWFuYWdlcnMsIGV0Yy4NCg0KRmluYWxseSwgbGV0J3MgbG9vayBhdCBwb3N0cyBmcm9tIFRvcGljIDExIHdoaWNoIEkgdGhvdWdoIG1pZ2h0IGJlIGEgdGhlbWUgYWJvdXQNCmRpZ2l0YWwgY29tbXVuaWNhdGlvbiBhbmQgc29jaWFsIG1lZGlhLg0KDQpgYGB7ciBmaW5kVGhvdWdodHNfMTF9DQoNCmZpbmRUaG91Z2h0cyhhYnN0cmFjdHNfc3RtLA0KICAgICAgICAgICAgIHRleHRzID0gYWJzdHJhY3RzX2RhdGFfcmVkdWNlZCwNCiAgICAgICAgICAgICB0b3BpY3MgPSAxMSwgDQogICAgICAgICAgICAgbiA9IDEwLA0KICAgICAgICAgICAgIHRocmVzaCA9IDAuNSkNCmBgYA0KDQpJbnRlcmVzdGluZ2x5LCBpdCBzZWVtcyB0aGF0IHRoaXMgdG9waWMgaGFzIG1vcmUgdG8gZG8gd2l0aCBjb21tdW5pY2F0aW9uIGluDQpnZW5lcmFsLiBBU0QgKGEgY29tbXVuaWNhdGlvbiBkaXNvcmRlcikgcG9wcGVkIHVwIGhlcmUsIGJ1dCBzbyBkaWQgdG9waWNzDQpyZWxhdGVkIHRvIHRlYWNoaW5nIHJlYWRpbmcsIGRpZ2l0YWwgdG95cywgYW5kIGJpbGluZ3VhbGlzbS4NCg0KIyMjIyBDb25jbHVzaW9ucw0KDQpJIGZlZWwgbGlrZSB0aGlzIHdhcyBhIHJlYWxseSB2YWx1YWJsZSBleGVyY2lzZSBhbmQgb25lIEkgd2lsbCBsaWtlbHkgcmVwZWF0DQp3aXRoIHZhcmlhdGlvbnMgb24gdGhlIGluaXRpYWwgY29ycHVzLiBNYW55IG9mIHRoZSBhYnN0cmFjdHMgc2VlbWVkIHByZXR0eQ0KaXJyZWxldmFudCB0byB0aGUgdG9waWNzIEkgd2FudGVkIHRvIGludmVzdGlnYXRlLCB3aGljaCBzdWdnZXN0cyB0aGF0IG15IGluaXRpYWwNCnNlYXJjaCB0ZXJtcyBtYXkgbm90IGhhdmUgYmVlbiBzcGVjaWZpYyBlbm91Z2guIEZvciBleGFtcGxlLCBJIHNhdyB2ZXJ5DQpsaXR0bGUgYWJvdXQgIm1vdGl2YXRpb24uIg0KDQpOZXZlcnRoZWxlc3MsIEkgZGlkIGdhaW4gc29tZSBpbnNpZ2h0cy4gQXV0aXNtIHNwZWN0cnVtIGRpc29yZGVycyBzZWVtIHRvIGJlDQphIHByb21pbmVudCB0b3BpYywgYW5kIHBvdGVudGlhbGx5IG9uZSBhcm91bmQgd2hpY2ggbW90aGVycyBsb29rIHRvIA0KdGVjaG5vbG9neSBmb3IgZm9ybXMgb2Ygc29jaWFsIHN1cHBvcnQuIFRoZSB0aGVtZSBvZiBlbnRyZXByZW5ldXJzaGlwIHdhcyBhbHNvDQppbnRlcmVzdGluZywgYWx0aG91Z2ggSSB0aGluayBJIHdvdWxkIG5lZWQgdG8gaW52ZXN0aWdhdGUgbW9yZSBkZWVwbHkgKGFuZCANCmxpa2VseSBob25lIG15IHNlYXJjaCB0ZXJtcykgdG8gc2VlIHdoZXRoZXIgdGVjaG5vbG9neSBpcyBwbGF5aW5nIGEgcm9sZSBpbg0KdGhlc2UgYnVzaW5lc3Nlcy4gRWR1Y2F0aW9uIGFuZCBoZWFsdGggYXJlIGJpZyB0aGVtZXMgaW4gdGhlIGNvcnB1cywgd2hpY2ggZml0cw0KbmljZWx5IHdpdGggbXkgcmF0aW9uYWxlIGZvciB0aGlzIGludmVzdGlnYXRpb24uIE5hbWVseSwgY2FuIHRlY2hub2xvZ3kgYmUgDQpsZXZlcmFnZWQgKGJ5IHRlYWNoZXJzLCBoZWFsdGhjYXJlIHByb3ZpZGVycywgZXRjLikgdG8gcHJvdmlkZSBmb3JtcyBvZiBzb2NpYWwNCnN1cHBvcnQgdG8gbW90aGVycywgY2hpbGRyZW4sIGFuZCBmYW1pbGllcz8NCg0KRm9yIGZ1dHVyZSB3b3JrLCBJIHRoaW5rIEknZCBsaWtlIHRvIGhvbmUgbXkgc2VhcmNoIHRlcm1zIGEgYml0IGFuZCBjb25kdWN0IGEgDQpzZXBhcmF0ZSB0b3BpYyBtb2RlbGluZyBhbmFseXNpcyBpbmNsdWRpbmcgdGVybXMgc3VjaCBhcyAiZGlzYWJpbGl0eSIgYW5kDQoic3BlY2lhbCBuZWVkcy4i