版权声明:本套课程材料开源,使用和分享必须遵守「创作共用许可协议 CC BY-NC-SA」(来源引用-非商业用途使用-以相同方式共享)。


正则表达式基础

info = "
导演: 饺子
编剧: 饺子
主演: 吕艳婷 / 囧森瑟夫 / 瀚墨 / 陈浩 / 绿绮 / 张珈铭 / ...
类型: 剧情 / 喜剧 / 动画 / 奇幻
制片国家/地区: 中国大陆
语言: 汉语普通话
上映日期: 2025-01-29(中国大陆)
片长: 144分钟
又名: 哪吒2 / 哪吒2之魔童闹海 / Ne Zha 2
IMDb: tt34956443
"
info
[1] "\n导演: 饺子\n编剧: 饺子\n主演: 吕艳婷 / 囧森瑟夫 / 瀚墨 / 陈浩 / 绿绮 / 张珈铭 / ...\n类型: 剧情 / 喜剧 / 动画 / 奇幻\n制片国家/地区: 中国大陆\n语言: 汉语普通话\n上映日期: 2025-01-29(中国大陆)\n片长: 144分钟\n又名: 哪吒2 / 哪吒2之魔童闹海 / Ne Zha 2\nIMDb: tt34956443\n"
cat(info)

导演: 饺子
编剧: 饺子
主演: 吕艳婷 / 囧森瑟夫 / 瀚墨 / 陈浩 / 绿绮 / 张珈铭 / ...
类型: 剧情 / 喜剧 / 动画 / 奇幻
制片国家/地区: 中国大陆
语言: 汉语普通话
上映日期: 2025-01-29(中国大陆)
片长: 144分钟
又名: 哪吒2 / 哪吒2之魔童闹海 / Ne Zha 2
IMDb: tt34956443

【探索发现】如何提取电影变量?

  • 如何从原始文本数据中提取:
    • 导演:“饺子”
    • 类型:“剧情 / 喜剧 / 动画 / 奇幻”
    • 片长:“144”
    • 上映日期:“2025-01-29”
str_extract(info, "(?<=导演: ).*(?=\\n)")
[1] "饺子"
str_extract(info, "(?<=类型: ).*(?=\\n)")
[1] "剧情 / 喜剧 / 动画 / 奇幻"
str_extract(info, "(?<=类型: ).*(?=\\n)") %>%
  str_split(" / ")
[[1]]
[1] "剧情" "喜剧" "动画" "奇幻"
str_extract(info, "(?<=片长: ).*(?=分钟\\n)")
[1] "144"
str_extract(info, "(?<=上映日期: ).*(?=\\n)")
[1] "2025-01-29(中国大陆)"
str_extract(info, "(?<=上映日期: ).*(?=\\n)") %>%
  str_extract("\\d{4}-\\d{2}-\\d{2}")
[1] "2025-01-29"
str_extract(info, "(?<=上映日期: ).*(?=\\n)") %>%
  str_extract("\\d{4}-\\d{2}-\\d{2}") %>%
  str_remove_all("-")
[1] "20250129"

【探索发现】如何统计《心理学报》历届编委会成员频次?

《心理学报》编委会:https://journal.psych.ac.cn/xlxb/CN/column/column3.shtml

url = "https://journal.psych.ac.cn/xlxb/CN/column/column3.shtml"
xml = read_html(url)
text = xml %>% html_element(".content_nr li") %>% html_text()
text %>% str_split("\\s{3,}") %>% unlist()
  [1] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
  [2] "主编:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  [3] "蒋  毅(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  [4] "副主编:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
  [5] "甘怡群(北京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  [6] "胡晓晴(香港大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  [7] "李兴珊(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  [8] "刘  超(北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  [9] "施俊琦 (浙江大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [10] "辛自强(中国人民大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [11] "邱炳武(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [12] "编委:"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [13] "陈安涛 (上海交通大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [14] "陈楚侨(香港大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [15] "陈  红(西南大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [16] "陈  辉 (浙江大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [17] "陈  杰 (湖南师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [18] "陈  琦 (深圳大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [19] "陈庆荣(南京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [20] "陈  巍 (绍兴大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [21] "戴先炽(香港中文大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [22] "丁道群 (湖南师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [23] "丁锦红(首都师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [24] "丁晓伟 (中山大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [25] "杜  峰(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [26] "杜  忆(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [27] "段锦云 (华东师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [28] "方晓义(北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [29] "冯廷勇 (西南大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [30] "付秋芳(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [31] "高在峰 (浙江大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [32] "龚平原(西北大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [33] "古若雷 (中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 [34] "管  健(南开大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [35] "贺  伟(南京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [36] "胡  理 (中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 [37] "纪林芹 (山东师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [38] "李超平(中国人民大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [39] "李  健(北京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [40] "李文东(香港中文大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [41] "李永娟(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [42] "梁菲菲 (天津师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [43] "刘  文(辽宁师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [44] "刘志远 (陕西师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [45] "陆佳芳(香港教育大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [46] "陆静怡 (华东师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [47] "栾胜华(香港中文大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [48] "罗  良 (北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [49] "罗文波 (辽宁师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [50] "马燚娜 (北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [51] "秦绍正(北京师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [52] "任志洪(华中师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [53] "苏彦捷(北京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [54] "孙  彦 (中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 [55] "王  力(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [56] "王  亮 (中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 [57] "王玮文(中国科学院心理研究所)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
 [58] "王振宏(陕西师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [59] "温芳芳 (华中师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [60] "温忠麟(华南师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [61] "徐  岚(武汉大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [62] "阎书昌(河北师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [63] "杨海波 (天津师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [64] "喻  丰(武汉大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [65] "袁加锦 (四川师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [66] "詹沛达 (浙江师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [67] "张  丹(清华大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [68] "张力为(北京体育大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [69] "张清芳(中国人民大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
 [70] "张喜淋 (华南师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [71] "赵  立 (杭州师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [72] "赵  鑫 (西北师范大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 [73] "郑晓明(清华大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [74] "郑晓莹(中山大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [75] "周国梅(中山大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [76] "周吉帆 (浙江大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [77] "周  雯 (中国科学院大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 [78] "周欣悦(澳门大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [79] "朱露莎 (北京大学)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 [80] "编辑部:李金珍  曾敏  邱炳武"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [81] "第十二届编委会(2022-2025)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
 [82] "主编:傅小兰副主编:蔡华俭、丁锦红、甘怡群、郭秀艳、刘勋、龙立荣、王穗苹、谢晓非编委:陈楚侨、陈传升、陈红、陈庆荣、戴先炽、杜峰、杜忆、方晓义、付秋芳、龚平原、管健、韩布新、贺伟、胡晓晴、蒋毅、蒯曙光、李超平、李健、李康、李寿欣、李文东、李兴珊、李永娟、连榕、刘超、刘力、刘文、陆佳芳、栾胜华、苗丹民、穆妍、秦绍正、邱炳武、任志洪、苏彦捷、涂艳苹、王力、王玮文、王晓田、王振宏、温忠麟、吴艳红、辛涛、辛自强、徐岚、阎书昌、喻丰、张丹、张雷、张力为、张清芳、张向阳、郑晓明、郑晓莹、周国梅、周欣悦、周永迪"
 [83] "第十一届编委会(2018-2021)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
 [84] "主编:李纾"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
 [85] "副主编:白学军、蔡华俭、郭秀艳、刘勋、龙立荣、沈模卫、谢晓非、许燕"                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 [86] "编委:陈传升、陈红、陈欣银、丁锦红、杜峰、杜忆、傅世敏、甘怡群、韩布新、韩在柱、胡晓晴、蒋毅、李东进、李健、李康、李文东、李永娟、连榕、刘嘉、栾胜华、罗跃嘉、苗丹民、邱炳武、任志洪、隋南、涂艳苹、王辉、王力、王穗苹、王晓田、王益文、温忠麟、翁旭初、吴艳红、辛涛、徐岚、薛贵、阎书昌、杨百寅、叶铮、游旭群、张积家、张力为、张向阳、周晓林、周欣悦、周永迪、朱莉琪、邹泓"                                                                                                                                          
 [87] "第十届编委会(2014-2017)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
 [88] "主编:张侃"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
 [89] "副主编:冯海岚、侯杰泰、李纾、舒华、苏彦捷、游旭群、张建新"                                                                                                                                                                                                                                                                                                                                                                                                                                                            
 [90] "编委:白学军、蔡华俭、陈欣银、符国群、傅世敏、郭本禹、郭春彦、郭秀艳、韩布新、韩在柱、江光荣、蒋毅、康萤仪、乐国安、李兴珊、连榕、刘嘉、刘勋、龙立荣、罗劲、罗跃嘉、苗丹民、区永东、钱铭怡、邱炳武、沈模卫、隋南、王辉、王穗苹、王晓田、翁旭初、吴艳红、谢晓非、辛涛、许燕、严进、阎书昌、杨百寅、余嘉元、张积家、张结海、张雷、张庆林、张志学、周晓林、周永迪、朱莉琪、邹泓"                                                                                                                                          
 [91] "第九届编委会(2010-2013)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
 [92] "主编:林文娟"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [93] "副主编:张妙清、韩世辉、舒华、叶浩生、张建新"                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [94] "编委:白学军、陈钧承、张雷、陈瑞燕、陈晓萍、陈欣银、赵志裕、董奇、傅世敏、傅小兰、郭春彦、韩在柱、侯杰泰、何生、江光荣、梁觉、李兴珊、李纾、罗劲、罗跃嘉、Lars-Goran\r\nNILLSON、Richard E. NISBETT、Kurt PAWLIK、彭凯平、钱铭怡、邱炳武、沈模卫、申继亮、Henderikus\r\nJ. STAM、苏彦捷、隋南、Anne TREISMAN, 王登峰、王辉、翁旭初、谢晓非、许燕、严进、杨治良、游旭群、余嘉元、乐国安、张积家、张结海、张侃、张庆林、张志学、周晓林、朱莉琪、邹泓"                                                                    
 [95] "第八届编委会(2006-2009)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
 [96] "主编:杨玉芳"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [97] "副主编:张妙清、韩世辉、林崇德、叶浩生、张侃"                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 [98] "编委:张雷、陈烜之、陈欣银、陈永明、方富熹、葛小佳、郭春彦、侯杰泰、何生、黄希庭、梁永亮、李纾、林文娟、凌文辁、罗劲、莫雷、Lars-Goran Nillson、Richard E. Nisbett、Kurt Pawlik、钱铭怡、邱炳武、沈德立、申继亮、舒华、Henderikus J. Stam、苏彦捷、Anne Treisman、王登峰、王重鸣、杨治良、余嘉元、乐国安、张建新、张志学"                                                                                                                                                                                              
 [99] "第七届编委会(2002-2005)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[100] "主编:陈永明"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[101] "副主编:王甦、朱滢、张侃、陈烜之、林崇德"                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
[102] "编委:王甦、王重鸣、车文博、方富熹、申继亮、叶浩生、朱滢、杨玉芳、张妙清、张侃、乐国安、沈政、沈德立、陈永明、陈烜之、邱炳武、林仲贤、林崇德、凌文辁、莫雷、梁永亮、黄希庭、舒华、钱铭怡、韩世辉、管林初"                                                                                                                                                                                                                                                                                                              
[103] "第六届编委会(1998-2001)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[104] "主编:林仲贤"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[105] "副主编:王甦、陈永明、陈烜之、林崇德、管林初"                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[106] "编委:王甦、王重鸣、车文博、方富熹、朱滢、汤盛钦、杨玉芳、杨鑫辉、张必隐、张妙清、沈政、沈德立、陈永明、陈烜之、林仲贤、林崇德、凌文辁、莫雷、黄希庭、梁觉、梁展鹏、彭聃龄、管林初、魏明庠"                                                                                                                                                                                                                                                                                                                            
[107] "第五届编委会(1994-1997)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[108] "主编:匡培梓"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[109] "副主编:林仲贤、朱滢、彭聃龄"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[110] "编委:王甦、车文博、方富熹、朱滢、朱祖祥、匡培梓、许尚侠、汤盛钦、李心天、沈德立、沈德灿、陈永明、林仲贤、林崇德、凌文辁、章志光、黄希庭、魏明庠"                                                                                                                                                                                                                                                                                                                                                                      
[111] "第四届编委会(1990-1993)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[112] "主编:徐联仓"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[113] "副主编:王甦、张厚粲、林仲贤"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[114] "编委:王甦、车文博、许政援、匡培梓、李心天、朱祖祥、陈永明、张厚粲、杨治良、沈德灿、林崇德、林仲贤、徐联仓、章志光、黄希庭、赖昌贵、魏明庠"                                                                                                                                                                                                                                                                                                                                                                            
[115] "第三届编委会(1985-1989)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[116] "主编:徐联仓"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[117] "副主编:孙晔、张厚粲、孟昭兰"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[118] "编委:车文博、左梦兰、李心天、朱祖祥、邵郊、沈德灿、林传鼎、荆其诚、章志光、黄希庭、赖昌贵、缪小春"                                                                                                                                                                                                                                                                                                                                                                                                                    
[119] "第二届编委会(1979-1984)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[120] "主编:潘菽"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
[121] "编委:潘菽、刘兆吉、刘范、孙晔、朱智贤、李心天、何玉琨、陈元晖、陈立、林传鼎、邵郊、张述祖、张厚粲、荆其诚、胡寄南、徐联仓、郭占基、高觉敷、彭祖智"                                                                                                                                                                                                                                                                                                                                                                    
[122] "第一届编委会(1956-1966)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
[123] "主编:曹日昌"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
[124] "副主编:陈元晖"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
[125] "编委:曹日昌、陈元晖、朱智贤、吴江霖、唐钺"                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
[126] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
text %>%
  str_split("\\s{3,}") %>%
  unlist() %>%
  str_extract("(?<=主编:|副主编:|编委:).*|.*(?=()") %>%
  str_split("、|主编:|副主编:|编委:") %>%
  unlist() %>%
  na.omit() %>%
  str_remove_all("\\s") %>%
  str_subset("编委会|[a-z]|^$", negate=TRUE) %>%
  Freq(sort="-")
Frequency Statistics:
─────────────
        N   %
─────────────
陈永明  7 1.6
林崇德  7 1.6
林仲贤  7 1.6
王甦    7 1.6
黄希庭  6 1.4
邱炳武  6 1.4
车文博  5 1.2
陈烜之  5 1.2
朱滢    5 1.2
陈欣银  4 0.9
方富熹  4 0.9
蒋毅    4 0.9
李纾    4 0.9
李心天  4 0.9
李兴珊  4 0.9
凌文辁  4 0.9
沈德立  4 0.9
舒华    4 0.9
苏彦捷  4 0.9
徐联仓  4 0.9
阎书昌  4 0.9
张厚粲  4 0.9
张侃    4 0.9
张雷    4 0.9
张妙清  4 0.9
白学军  3 0.7
蔡华俭  3 0.7
陈红    3 0.7
陈元晖  3 0.7
丁锦红  3 0.7
杜峰    3 0.7
杜忆    3 0.7
傅世敏  3 0.7
甘怡群  3 0.7
管林初  3 0.7
郭春彦  3 0.7
郭秀艳  3 0.7
韩布新  3 0.7
韩世辉  3 0.7
韩在柱  3 0.7
侯杰泰  3 0.7
胡晓晴  3 0.7
匡培梓  3 0.7
乐国安  3 0.7
李健    3 0.7
李文东  3 0.7
李永娟  3 0.7
连榕    3 0.7
刘勋    3 0.7
龙立荣  3 0.7
栾胜华  3 0.7
罗劲    3 0.7
罗跃嘉  3 0.7
苗丹民  3 0.7
莫雷    3 0.7
钱铭怡  3 0.7
任志洪  3 0.7
沈德灿  3 0.7
王力    3 0.7
王穗苹  3 0.7
王晓田  3 0.7
王重鸣  3 0.7
魏明庠  3 0.7
温忠麟  3 0.7
吴艳红  3 0.7
谢晓非  3 0.7
辛涛    3 0.7
徐岚    3 0.7
杨玉芳  3 0.7
叶浩生  3 0.7
张建新  3 0.7
张力为  3 0.7
章志光  3 0.7
周欣悦  3 0.7
周永迪  3 0.7
朱祖祥  3 0.7
曹日昌  2 0.5
陈楚侨  2 0.5
陈传升  2 0.5
陈庆荣  2 0.5
戴先炽  2 0.5
方晓义  2 0.5
付秋芳  2 0.5
傅小兰  2 0.5
龚平原  2 0.5
管健    2 0.5
何生    2 0.5
贺伟    2 0.5
江光荣  2 0.5
荆其诚  2 0.5
赖昌贵  2 0.5
李超平  2 0.5
李康    2 0.5
梁觉    2 0.5
梁永亮  2 0.5
林传鼎  2 0.5
林文娟  2 0.5
刘超    2 0.5
刘嘉    2 0.5
刘文    2 0.5
陆佳芳  2 0.5
潘菽    2 0.5
彭聃龄  2 0.5
秦绍正  2 0.5
邵郊    2 0.5
申继亮  2 0.5
沈模卫  2 0.5
沈政    2 0.5
隋南    2 0.5
孙晔    2 0.5
汤盛钦  2 0.5
涂艳苹  2 0.5
王辉    2 0.5
王玮文  2 0.5
王振宏  2 0.5
翁旭初  2 0.5
辛自强  2 0.5
许燕    2 0.5
杨百寅  2 0.5
杨治良  2 0.5
游旭群  2 0.5
余嘉元  2 0.5
喻丰    2 0.5
张丹    2 0.5
张积家  2 0.5
张清芳  2 0.5
张向阳  2 0.5
张志学  2 0.5
郑晓明  2 0.5
郑晓莹  2 0.5
周国梅  2 0.5
周晓林  2 0.5
朱莉琪  2 0.5
朱智贤  2 0.5
邹泓    2 0.5
陈钧承  1 0.2
陈立    1 0.2
陈瑞燕  1 0.2
陈晓萍  1 0.2
董奇    1 0.2
冯海岚  1 0.2
符国群  1 0.2
高觉敷  1 0.2
葛小佳  1 0.2
郭本禹  1 0.2
郭占基  1 0.2
何玉琨  1 0.2
胡寄南  1 0.2
康萤仪  1 0.2
蒯曙光  1 0.2
李东进  1 0.2
李寿欣  1 0.2
梁展鹏  1 0.2
刘范    1 0.2
刘力    1 0.2
刘兆吉  1 0.2
孟昭兰  1 0.2
缪小春  1 0.2
穆妍    1 0.2
彭祖智  1 0.2
区永东  1 0.2
唐钺    1 0.2
王登峰  1 0.2
王益文  1 0.2
吴江霖  1 0.2
许尚侠  1 0.2
许政援  1 0.2
薛贵    1 0.2
严进    1 0.2
杨鑫辉  1 0.2
叶铮    1 0.2
张必隐  1 0.2
张结海  1 0.2
张庆林  1 0.2
张述祖  1 0.2
赵志裕  1 0.2
左梦兰  1 0.2
─────────────
Total N = 432

正则表达式在社会科学研究中有什么用?

现在的社会科学研究越来越依赖大数据和文本分析,经常要和海量文本打交道:10万条微博、5万份问卷、几百年的历史档案……正则表达式就是处理文本数据的“神兵利器”。

  1. 清洗和整理数据(数据“洗澡”)

从网上爬下来的数据经常很“脏”:夹杂着广告代码、乱码、多余的空格。正则表达式可以一键把这些垃圾清理掉,留下干净的文字。原本需要手动清理几万条数据,可能需要一个团队干一周;现在用几行正则表达式代码,几秒钟就能完成,而且准确率极高。

  1. 提取文本中信息(信息“采矿”)

比如你想研究“幸福感”这个词在社交媒体上的用法。正则表达式可以帮你找出所有包含“幸福”的句子,并且自动把“幸福”前面是谁在说(比如“我觉得幸福”“他感到幸福”)提取出来,又快又准。

  1. 内容分析与编码(将文字变数据)

社会科学研究经常需要对文本进行分类和编码。比如,你想分析新闻报道对某个社会事件的态度是“正面”、“负面”还是“中立”。可以先设定好规则,比如包含“赞赏”、“支持”、“成功”等词的归为“正面”,包含“反对”、“批评”、“问题”等词的归为“负面”。然后,正则表达式就能自动扫描所有文章,并根据这些关键词的出现情况,给每一篇文章贴上“态度”标签。几秒钟就能把几万条帖子分类完毕,这不仅比人工阅读编码快无数倍,而且标准完全统一,避免了因为研究者疲劳或个人主观判断带来的误差。它让定性研究可以拥有定量分析的规模。

正则表达式图解(图片源自网络)
正则表达式图解(图片源自网络)

【知识点】正则表达式

正则表达式 / 规律表达式(regular/pattern expression,RegEx)

简单来说,正则表达式就是一套用来描述文本规则的“密码”。它用一些特殊符号(比如*+?[])组合成“指令”,让电脑按照这些规则去文本的海洋里精准地找到你想要的内容(比如一定要是“蓝色”之后紧跟的“汽车”,而不是“红色汽车”)。

  • 含义:描述字符串规律(模式)的表达式
  • 用途:根据模式,匹配字符(自动处理文本)
    • “大海捞针”(词频统计):从海量的文本数据里,快速找到符合特定模式的字词、句子或段落
    • “点石成金”(数据清洗):找到之后,可以对这些内容进行批量的修改、删除、替换或提取,整理成数据分析所需要的格式
    • “去伪存真”(条件判断):还可以用来检查信息格式是否正确,比如手机号码是不是11位、邮箱地址里有没有“@”符号等
  • 正则表达式的“密码”其实很有逻辑,也很好理解,比如:
    • \d:代表“任何一个数字”(0-9),就像在说“给我找一个数字”
    • [a-z]:代表“任何一个英文小写字母”,就像在说“给我找一个小写字母”
    • *:代表“前面的东西可以出现零次或多次”,就像在说“这个模式可以重复无数次”
    • +:代表“前面的东西至少出现一次”,就像在说“这个模式至少要出现一次”
    • .:代表“任何一个字符”(除了换行符),就像一张万能牌,可以代替任何一个字符

一旦学会,你就拥有了一种神奇的能力:别人还在一条条复制粘贴、肉眼搜索的时候,你已经可以喝着咖啡,轻松看着电脑帮你把几万条甚至几百万条文本数据在几秒之内自动整理好。这就是正则表达式的魅力——把繁琐的手工劳动,变成自动化的“魔法”。

(1)字符匹配

【实践1】字符匹配

text = "笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。"
cat(text)
笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。
str_extract_all(text, "SPSS")  # 完整字符串
[[1]]
[1] "SPSS"
str_extract_all(text, "SPSS|Spss")  # "|"表示或者
[[1]]
[1] "SPSS" "Spss"
str_extract_all(text, "[SPSS|spss]")  # 思考:为什么?
[[1]]
 [1] "S" "P" "S" "S" "S" "p" "S" "S" "S" "p" "s" "s" "S" "p" "s" "S"
str_extract_all(text, "[SsPp]")
[[1]]
 [1] "S" "P" "S" "S" "S" "p" "S" "S" "S" "p" "s" "s" "S" "p" "s" "S"
str_extract_all(text, "[Ss][Pp][Ss][Ss]")
[[1]]
[1] "SPSS" "SpSS" "Spss" "SpsS"
str_extract_all(text, "\\d")
[[1]]
[1] "2" "2" "2" "0" "6" "4" "3" "2"
str_extract_all(text, "\\d\\d")
[[1]]
[1] "22" "20" "64" "32"
str_extract_all(text, "\\d\\d位")
[[1]]
[1] "64位" "32位"

(2)条件匹配

【实践2】条件匹配

text = "笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。"
cat(text)
笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。
str_extract_all(text, "\\d{2}位")
[[1]]
[1] "64位" "32位"
str_extract_all(text, "[SsPp]{4}")
[[1]]
[1] "SPSS" "SpSS" "Spss" "SpsS"
str_extract_all(text, "[SP]{4}")
[[1]]
[1] "SPSS"
str_extract_all(text, "[Sps]+")
[[1]]
[1] "S"    "SS"   "SpSS" "Spss" "SpsS"
str_extract_all(text, "(Sps)+")
[[1]]
[1] "Sps" "Sps"
str_extract_all(text, "Sps+")
[[1]]
[1] "Spss" "Sps" 

(3)预查匹配

【实践3】预查匹配

text = "笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。"
cat(text)
笔记本上安装SPSS22或20,授权码复制不上,导致安装失败。已经试了多次了,都安装不上SpSS,请问有遇到这种情况的吗?电脑是64位的,Spss是32位的,是这个原因吗?之前SpsS在其他笔记本和台式电脑上都安装成功了。
str_extract_all(text, "\\d{2}位")
[[1]]
[1] "64位" "32位"
str_extract_all(text, "\\d{2}(?=位)")  # 后向肯定预查
[[1]]
[1] "64" "32"
str_extract_all(text, "\\d{2}(?!位)")  # 后向否定预查
[[1]]
[1] "22" "20"
str_extract_all(text, "(?<=SPSS)\\d{2}")  # 前向肯定预查
[[1]]
[1] "22"
str_extract_all(text, "(?<!SPSS)\\d{2}")  # 前向否定预查
[[1]]
[1] "20" "64" "32"

字符串处理实战

stringr

  • 共同参数
    • string:字符串输入
    • pattern:正则表达式
  • 常用函数
    • 判断:str_detect()
    • 计数:str_count()
    • 提取:str_extract()str_extract_all()
    • 替换:str_replace()str_replace_all()
    • 删除:str_remove()str_remove_all()
    • 分割:str_split()
    • 向量取匹配子集:str_subset()

【实践4】字符串综合处理

## 数据采集
## 已加载rvest包:library(rvest)
url = "https://psy.ecnu.edu.cn/17437/list.htm"  # 学院师资队伍页面
xml = url %>% read_html()  # 读取网页所有信息
xml
{html_document}
<html class="webplus-list">
[1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8 ...
[2] <body class="wp-column-page">\r\n<!--头部开始-->\r\n<header class="wp-wrapper ...
[3] <script type="text/javascript" src="/_upload/tpl/0b/a5/2981/template2981/ ...
[4] <script type="text/javascript">\r\n$(function(){\r\n\t// 初始化SDAPP\r\n\tne ...
## 字符串处理(1):院系名称
menu = xml %>% html_elements(".column-item-link .column-name") %>% html_text2()
menu
 [1] "各级人才工程"               "认知与神经科学系"          
 [3] "毕生发展与学习科学系"       "社会与管理心理学系"        
 [5] "健康与临床心理学系"         "人工智能与人因工程系(筹)"
 [7] "实验员/专任助理研究员"      "党政管理"                  
 [9] "兼职教师"                   "全职博士后"                
[11] "荣休教师"                   "永远怀念教师名录"          
str_subset(menu, "系")
[1] "认知与神经科学系"           "毕生发展与学习科学系"      
[3] "社会与管理心理学系"         "健康与临床心理学系"        
[5] "人工智能与人因工程系(筹)"
str_subset(menu, "系$")
[1] "认知与神经科学系"     "毕生发展与学习科学系" "社会与管理心理学系"  
[4] "健康与临床心理学系"  
str_subset(menu, ".*系$")
[1] "认知与神经科学系"     "毕生发展与学习科学系" "社会与管理心理学系"  
[4] "健康与临床心理学系"  
str_subset(menu, ".*(?=系$)")  # 只是取子集,并不能预查提取
[1] "认知与神经科学系"     "毕生发展与学习科学系" "社会与管理心理学系"  
[4] "健康与临床心理学系"  
str_extract(menu, ".*(?=系$)")  # 真正的预查提取
 [1] NA                   "认知与神经科学"     "毕生发展与学习科学"
 [4] "社会与管理心理学"   "健康与临床心理学"   NA                  
 [7] NA                   NA                   NA                  
[10] NA                   NA                   NA                  
str_extract(menu, ".*(?=系$)") %>% na.omit()  # 移除缺失值NA
[1] "认知与神经科学"     "毕生发展与学习科学" "社会与管理心理学"  
[4] "健康与临床心理学"  
attr(,"na.action")
[1]  1  6  7  8  9 10 11 12
attr(,"class")
[1] "omit"
## 字符串处理(2):人才计划
title = xml %>% html_elements(".subcolumn-name") %>% html_text2()
title
 [1] "华东师范大学特聘教授"     "国家级人才项目"          
 [3] "国家级青年人才项目"       "中国科协托举人才"        
 [5] "教育部新世纪人才"         "上海市曙光学者"          
 [7] "上海市浦江学者"           "上海市青年科技启明星项目"
 [9] "上海市晨光计划"           "上海市扬帆计划"          
str_subset(title, "人才")
[1] "国家级人才项目"     "国家级青年人才项目" "中国科协托举人才"  
[4] "教育部新世纪人才"  
str_subset(title, "人才$")
[1] "中国科协托举人才" "教育部新世纪人才"
str_subset(title, "上海市.*")
[1] "上海市曙光学者"           "上海市浦江学者"          
[3] "上海市青年科技启明星项目" "上海市晨光计划"          
[5] "上海市扬帆计划"          
str_subset(title, "^上海市")
[1] "上海市曙光学者"           "上海市浦江学者"          
[3] "上海市青年科技启明星项目" "上海市晨光计划"          
[5] "上海市扬帆计划"          
str_extract(title, "(?<=^上海市).*(?=学者$|计划$)") %>% na.omit()
[1] "曙光" "浦江" "晨光" "扬帆"
attr(,"na.action")
[1] 1 2 3 4 5 8
attr(,"class")
[1] "omit"
## 字符串处理(3):教师姓名
name = xml %>% html_elements(".column-news-title") %>% html_text2()
name
 [1] "周晓林 博士"   "蒯曙光 博士"   "周晓林 博士"   "蔡清 博士"    
 [5] "郝宁 博士"     "蒯曙光 博士"   "高晓雪 博士"   "罗艺 博士"    
 [9] "崔丽娟 博士"   "刘永芳 博士"   "庞维国 博士"   "郝宁 博士"    
[13] "刘俊升 博士"   "陆静怡 博士"   "蔡清 博士"     "包寒吴霜 博士"
[17] "李先春 博士"   "刘俊升 博士"   "孟慧 博士"     "庞维国 博士"  
[21] "宋永宁博士"    "王弘毅 博士"   "王青 博士"     "席居哲 博士"  
[25] "谢鑫宇博士"    "周宁宁 博士"   "张琪 博士"     "包寒吴霜 博士"
[29] "梁一鸣 博士"   "陆静怡 博士"   "王青 博士"     "杨莹 博士"    
[33] "周晗昱 博士"   "陈 曦 博士"    "梁一鸣 博士"   "李世佳 博士"  
[37] "杨莹 博士"     "周晗昱 博士"  
table(name)
name
包寒吴霜 博士     蔡清 博士    陈 曦 博士   崔丽娟 博士   高晓雪 博士 
            2             2             1             1             1 
    郝宁 博士   蒯曙光 博士   李世佳 博士   李先春 博士   梁一鸣 博士 
            2             2             1             1             2 
  刘俊升 博士   刘永芳 博士   陆静怡 博士     罗艺 博士     孟慧 博士 
            2             1             2             1             1 
  庞维国 博士    宋永宁博士   王弘毅 博士     王青 博士   席居哲 博士 
            2             1             1             2             1 
   谢鑫宇博士     杨莹 博士     张琪 博士   周晗昱 博士   周宁宁 博士 
            1             2             1             2             1 
  周晓林 博士 
            2 
unique(name)
 [1] "周晓林 博士"   "蒯曙光 博士"   "蔡清 博士"     "郝宁 博士"    
 [5] "高晓雪 博士"   "罗艺 博士"     "崔丽娟 博士"   "刘永芳 博士"  
 [9] "庞维国 博士"   "刘俊升 博士"   "陆静怡 博士"   "包寒吴霜 博士"
[13] "李先春 博士"   "孟慧 博士"     "宋永宁博士"    "王弘毅 博士"  
[17] "王青 博士"     "席居哲 博士"   "谢鑫宇博士"    "周宁宁 博士"  
[21] "张琪 博士"     "梁一鸣 博士"   "杨莹 博士"     "周晗昱 博士"  
[25] "陈 曦 博士"    "李世佳 博士"  
name %>% unique() %>% sort()
 [1] "包寒吴霜 博士" "蔡清 博士"     "陈 曦 博士"    "崔丽娟 博士"  
 [5] "高晓雪 博士"   "郝宁 博士"     "蒯曙光 博士"   "李世佳 博士"  
 [9] "李先春 博士"   "梁一鸣 博士"   "刘俊升 博士"   "刘永芳 博士"  
[13] "陆静怡 博士"   "罗艺 博士"     "孟慧 博士"     "庞维国 博士"  
[17] "宋永宁博士"    "王弘毅 博士"   "王青 博士"     "席居哲 博士"  
[21] "谢鑫宇博士"    "杨莹 博士"     "张琪 博士"     "周晗昱 博士"  
[25] "周宁宁 博士"   "周晓林 博士"  
name %>% unique() %>% sort() %>% str_remove_all("博士|\\s")
 [1] "包寒吴霜" "蔡清"     "陈曦"     "崔丽娟"   "高晓雪"   "郝宁"    
 [7] "蒯曙光"   "李世佳"   "李先春"   "梁一鸣"   "刘俊升"   "刘永芳"  
[13] "陆静怡"   "罗艺"     "孟慧"     "庞维国"   "宋永宁"   "王弘毅"  
[19] "王青"     "席居哲"   "谢鑫宇"   "杨莹"     "张琪"     "周晗昱"  
[25] "周宁宁"   "周晓林"  
name %>%
  unique() %>%
  sort() %>%
  str_remove_all("博士|\\s") %>%
  str_subset("宁")
[1] "郝宁"   "宋永宁" "周宁宁"
name %>%
  unique() %>%
  sort() %>%
  str_remove_all("博士|\\s") %>%
  str_subset("^赵|^钱|^孙|^李")  # 赵钱孙李,周吴郑王
[1] "李世佳" "李先春"
name %>%
  unique() %>%
  sort() %>%
  str_remove_all("博士|\\s") %>%
  str_subset("^[周吴郑王]")  # 赵钱孙李,周吴郑王
[1] "王弘毅" "王青"   "周晗昱" "周宁宁" "周晓林"
## 补充:字符向量 vs. 固定位置字符提取
"Psychology"[1]  # 长度为1的字符向量,[1]仍然是字符串,而不是第1个字母
[1] "Psychology"
str_sub("Psychology", 1, 1)  # 提取第1个字母
[1] "P"
str_sub("Psychology", 1, 5)  # 提取第1~5个字母
[1] "Psych"
## 导入在线数据(douban_movies.RData)
data = import("https://psychbruce.github.io/RCourse/data/douban_movies.RData")
dt = as.data.table(data)

课堂实战练习(问题解决导向的学习):

  • 从电影标题变量(title)提取电影的上映年份
  • 选取带有0~9数字的电影标题
  • 选取带有年份数字的电影标题
  • 选取模式为“高考1977”的电影标题
  • ……

【探索发现】stringr包的函数功能

  • 检测匹配

  • 子集提取

  • 长度控制

  • 替换修改

  • 拼接分割

【作业5】字符向量处理

作业要求:

  • 围绕stringr包提供的字符串示例数据fruit(80个水果名称),运用str_detect()str_subset()str_extract_all()str_replace_all()stringr包函数中的至少2个,任意完成至少2种字符串处理任务,并对代码和结果进行简单的注释和解读
  • 使用R Markdown完成,运行渲染得到本地HTML网页文件

平台提交:

  • 运行得到HTML网页文件的关键部分截图(只需上传截图)
## 附:作业需要用到的数据集(字符向量)
stringr::fruit
 [1] "apple"             "apricot"           "avocado"          
 [4] "banana"            "bell pepper"       "bilberry"         
 [7] "blackberry"        "blackcurrant"      "blood orange"     
[10] "blueberry"         "boysenberry"       "breadfruit"       
[13] "canary melon"      "cantaloupe"        "cherimoya"        
[16] "cherry"            "chili pepper"      "clementine"       
[19] "cloudberry"        "coconut"           "cranberry"        
[22] "cucumber"          "currant"           "damson"           
[25] "date"              "dragonfruit"       "durian"           
[28] "eggplant"          "elderberry"        "feijoa"           
[31] "fig"               "goji berry"        "gooseberry"       
[34] "grape"             "grapefruit"        "guava"            
[37] "honeydew"          "huckleberry"       "jackfruit"        
[40] "jambul"            "jujube"            "kiwi fruit"       
[43] "kumquat"           "lemon"             "lime"             
[46] "loquat"            "lychee"            "mandarine"        
[49] "mango"             "mulberry"          "nectarine"        
[52] "nut"               "olive"             "orange"           
[55] "pamelo"            "papaya"            "passionfruit"     
[58] "peach"             "pear"              "persimmon"        
[61] "physalis"          "pineapple"         "plum"             
[64] "pomegranate"       "pomelo"            "purple mangosteen"
[67] "quince"            "raisin"            "rambutan"         
[70] "raspberry"         "redcurrant"        "rock melon"       
[73] "salal berry"       "satsuma"           "star fruit"       
[76] "strawberry"        "tamarillo"         "tangerine"        
[79] "ugli fruit"        "watermelon"       

返回课程主页

© 包寒吴霜

LS0tDQp0aXRsZTogIuOAilLor63oqIDjgIvnrKw056ug77ya5a2X56ym5aSE55CGIg0Kc3VidGl0bGU6IDxhIGhyZWY9Imh0dHBzOi8vcHN5Y2hicnVjZS5naXRodWIuaW8vUkNvdXJzZS8iPui/lOWbnuivvueoi+S4u+mhtTwvYT4NCmF1dGhvcjogIuaOiOivvuaVmeW4iO+8muWMheWvkuWQtOmcnCINCiMgZGF0ZTogImByIFN5cy5EYXRlKClgIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZQ0KICAgIHRvY19kZXB0aDogMw0KICAgIHRvY19mbG9hdDoNCiAgICAgIGNvbGxhcHNlZDogZmFsc2UNCiAgICAgIHNtb290aF9zY3JvbGw6IGZhbHNlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIGFuY2hvcl9zZWN0aW9uczogdHJ1ZQ0KICAgIGhpZ2hsaWdodDogcHlnbWVudHMNCiAgICBjc3M6IFJtZENTUy5jc3MNCi0tLQ0KDQpgYGB7PWh0bWx9DQo8cCBzdHlsZT0iZm9udC1zaXplOiAxMnB4Ij7niYjmnYPlo7DmmI7vvJrmnKzlpZfor77nqIvmnZDmlpnlvIDmupDvvIzkvb/nlKjlkozliIbkuqvlv4XpobvpgbXlrojjgIzliJvkvZzlhbHnlKjorrjlj6/ljY/orq4gQ0MgQlktTkMtU0HjgI3vvIjmnaXmupDlvJXnlKgt6Z2e5ZWG5Lia55So6YCU5L2/55SoLeS7peebuOWQjOaWueW8j+WFseS6q++8ieOAgjxpbWcgc3JjPSJpbWcvQ0MtQlktTkMtU0EuanBnIiB3aWR0aD0iMTIwcHgiIGhlaWdodD0iNDJweCIgc3R5bGU9ImZsb2F0OiByaWdodCIgLz48L3A+DQpgYGANCg0KYGBge3IgQ29uZmlnLCBpbmNsdWRlPUZBTFNFfQ0Kb3B0aW9ucygNCiAga25pdHIua2FibGUuTkEgPSAiIiwNCiAgZGlnaXRzID0gNA0KKQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KA0KICBjb21tZW50ID0gIiIsDQogIGZpZy53aWR0aCA9IDYsDQogIGZpZy5oZWlnaHQgPSA0LA0KICBkcGkgPSAzMDANCikNCmBgYA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyBDaGFwMDTvvJrlrZfnrKblpITnkIYNCg0KIyMjIyDlvoDmnJ/opoHngrnlm57pob4NCg0KLSBbQ2hhcDAzIFwjIOaVsOaNruahhu+8iGRhdGEgZnJhbWXvvIldKGh0dHBzOi8vcHN5Y2hicnVjZS5naXRodWIuaW8vUkNvdXJzZS9DaGFwMDMjJUU2JTk1JUIwJUU2JThEJUFFJUU2JUExJTg2ZGF0YS1mcmFtZSl7LnVyaX0NCi0gW0NoYXAwMyBcIyDigJzkuIDnq5nlvI/igJ3mlbDmja7lr7zlhaXlr7zlh7pdKGh0dHBzOi8vcHN5Y2hicnVjZS5naXRodWIuaW8vUkNvdXJzZS9DaGFwMDMjJUU1JUE0JTk2JUU5JTgzJUE4JUU2JTk1JUIwJUU2JThEJUFFJUU1JUFGJUJDJUU1JTg1JUE1JUU1JUFGJUJDJUU1JTg3JUJBKXsudXJpfQ0KDQojIyMjIOacrOeroOimgeeCueebruW9lQ0KDQotIFvjgJDmjqLntKLlj5HnjrDjgJHlpoLkvZXmj5Dlj5bnlLXlvbHlj5jph4/vvJ9dKCPmjqLntKLlj5HnjrDlpoLkvZXmj5Dlj5bnlLXlvbHlj5jph48pDQotIFvjgJDmjqLntKLlj5HnjrDjgJHlpoLkvZXnu5/orqHjgIrlv4PnkIblrabmiqXjgIvljoblsYrnvJblp5TkvJrmiJDlkZjpopHmrKHvvJ9dKCPmjqLntKLlj5HnjrDlpoLkvZXnu5/orqHlv4PnkIblrabmiqXljoblsYrnvJblp5TkvJrmiJDlkZjpopHmrKEpDQotIFvjgJDnn6Xor4bngrnjgJHmraPliJnooajovr7lvI9dKCPnn6Xor4bngrnmraPliJnooajovr7lvI8p77yI6YeN54K577yJDQotIFvjgJDlrp7ot7Ux44CR5a2X56ym5Yy56YWNXSgj5a6e6Le1MeWtl+espuWMuemFjSkNCi0gW+OAkOWunui3tTLjgJHmnaHku7bljLnphY1dKCPlrp7ot7Uy5p2h5Lu25Yy56YWNKQ0KLSBb44CQ5a6e6Le1M+OAkemihOafpeWMuemFjV0oI+Wunui3tTPpooTmn6XljLnphY0pDQotIFvjgJDlrp7ot7U044CR5a2X56ym5Liy57u85ZCI5aSE55CGXSgj5a6e6Le1NOWtl+espuS4sue7vOWQiOWkhOeQhinvvIjph43ngrnvvIkNCi0gW+OAkOaOoue0ouWPkeeOsOOAkXN0cmluZ3LljIXnmoTlh73mlbDlip/og71dKCPmjqLntKLlj5HnjrBzdHJpbmdy5YyF55qE5Ye95pWw5Yqf6IO9KQ0KDQpgYGB7ciwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiMjIOacrOeroOaJgOmcgFLljIUNCmxpYnJhcnkoYnJ1Y2VSKQ0KbGlicmFyeShzdHJpbmdyKSAgIyDlrZfnrKbkuLLlpITnkIbvvIjliqDovb1icnVjZVLml7blt7Lpu5jorqTliqDovb1zdHJpbmdy77yJDQpsaWJyYXJ5KHJ2ZXN0KSAgIyDnvZHnu5zniKzomasNCmBgYA0KDQojIOato+WImeihqOi+vuW8j+WfuuehgA0KDQohWzxodHRwczovL21vdmllLmRvdWJhbi5jb20vc3ViamVjdC8zNDc4MDk5MS8+XShpbWFnZXMvY2xpcGJvYXJkLTEzODk3NzQ5NC5wbmcpDQoNCmBgYHtyfQ0KaW5mbyA9ICINCuWvvOa8lDog6aW65a2QDQrnvJbliac6IOmluuWtkA0K5Li75ryUOiDlkJXoibPlqbcgLyDlm6fmo67nkZ/lpKsgLyDngJrloqggLyDpmYjmtakgLyDnu7/nu64gLyDlvKDnj4jpk60gLyAuLi4NCuexu+Weizog5Ymn5oOFIC8g5Zac5YmnIC8g5Yqo55S7IC8g5aWH5bm7DQrliLbniYflm73lrrYv5Zyw5Yy6OiDkuK3lm73lpKfpmYYNCuivreiogDog5rGJ6K+t5pmu6YCa6K+dDQrkuIrmmKDml6XmnJ86IDIwMjUtMDEtMjko5Lit5Zu95aSn6ZmGKQ0K54mH6ZW/OiAxNDTliIbpkp8NCuWPiOWQjTog5ZOq5ZCSMiAvIOWTquWQkjLkuYvprZTnq6Xpl7nmtbcgLyBOZSBaaGEgMg0KSU1EYjogdHQzNDk1NjQ0Mw0KIg0KaW5mbw0KY2F0KGluZm8pDQpgYGANCg0KIyMjIyDjgJDmjqLntKLlj5HnjrDjgJHlpoLkvZXmj5Dlj5bnlLXlvbHlj5jph4/vvJ8geyPmjqLntKLlj5HnjrDlpoLkvZXmj5Dlj5bnlLXlvbHlj5jph499DQoNCi0g5aaC5L2V5LuO5Y6f5aeL5paH5pys5pWw5o2u5Lit5o+Q5Y+W77yaDQogIC0g5a+85ryU77ya4oCc6aW65a2Q4oCdDQogIC0g57G75Z6L77ya4oCc5Ymn5oOFIC8g5Zac5YmnIC8g5Yqo55S7IC8g5aWH5bm74oCdDQogIC0g54mH6ZW/77ya4oCcMTQ04oCdDQogIC0g5LiK5pig5pel5pyf77ya4oCcMjAyNS0wMS0yOeKAnQ0KDQpgYGB7cn0NCnN0cl9leHRyYWN0KGluZm8sICIoPzw95a+85ryUOiApLiooPz1cXG4pIikNCg0Kc3RyX2V4dHJhY3QoaW5mbywgIig/PD3nsbvlnos6ICkuKig/PVxcbikiKQ0Kc3RyX2V4dHJhY3QoaW5mbywgIig/PD3nsbvlnos6ICkuKig/PVxcbikiKSAlPiUNCiAgc3RyX3NwbGl0KCIgLyAiKQ0KDQpzdHJfZXh0cmFjdChpbmZvLCAiKD88PeeJh+mVvzogKS4qKD895YiG6ZKfXFxuKSIpDQoNCnN0cl9leHRyYWN0KGluZm8sICIoPzw95LiK5pig5pel5pyfOiApLiooPz1cXG4pIikNCnN0cl9leHRyYWN0KGluZm8sICIoPzw95LiK5pig5pel5pyfOiApLiooPz1cXG4pIikgJT4lDQogIHN0cl9leHRyYWN0KCJcXGR7NH0tXFxkezJ9LVxcZHsyfSIpDQpzdHJfZXh0cmFjdChpbmZvLCAiKD88PeS4iuaYoOaXpeacnzogKS4qKD89XFxuKSIpICU+JQ0KICBzdHJfZXh0cmFjdCgiXFxkezR9LVxcZHsyfS1cXGR7Mn0iKSAlPiUNCiAgc3RyX3JlbW92ZV9hbGwoIi0iKQ0KYGBgDQoNCiMjIyMg44CQ5o6i57Si5Y+R546w44CR5aaC5L2V57uf6K6h44CK5b+D55CG5a2m5oql44CL5Y6G5bGK57yW5aeU5Lya5oiQ5ZGY6aKR5qyh77yfIHsj5o6i57Si5Y+R546w5aaC5L2V57uf6K6h5b+D55CG5a2m5oql5Y6G5bGK57yW5aeU5Lya5oiQ5ZGY6aKR5qyhfQ0KDQrjgIrlv4PnkIblrabmiqXjgIvnvJblp5TkvJrvvJo8aHR0cHM6Ly9qb3VybmFsLnBzeWNoLmFjLmNuL3hseGIvQ04vY29sdW1uL2NvbHVtbjMuc2h0bWw+DQoNCmBgYHtyfQ0KdXJsID0gImh0dHBzOi8vam91cm5hbC5wc3ljaC5hYy5jbi94bHhiL0NOL2NvbHVtbi9jb2x1bW4zLnNodG1sIg0KeG1sID0gcmVhZF9odG1sKHVybCkNCnRleHQgPSB4bWwgJT4lIGh0bWxfZWxlbWVudCgiLmNvbnRlbnRfbnIgbGkiKSAlPiUgaHRtbF90ZXh0KCkNCnRleHQgJT4lIHN0cl9zcGxpdCgiXFxzezMsfSIpICU+JSB1bmxpc3QoKQ0KdGV4dCAlPiUNCiAgc3RyX3NwbGl0KCJcXHN7Myx9IikgJT4lDQogIHVubGlzdCgpICU+JQ0KICBzdHJfZXh0cmFjdCgiKD88PeS4u+e8lu+8mnzlia/kuLvnvJbvvJp857yW5aeU77yaKS4qfC4qKD8977yIKSIpICU+JQ0KICBzdHJfc3BsaXQoIuOAgXzkuLvnvJbvvJp85Ymv5Li757yW77yafOe8luWnlO+8miIpICU+JQ0KICB1bmxpc3QoKSAlPiUNCiAgbmEub21pdCgpICU+JQ0KICBzdHJfcmVtb3ZlX2FsbCgiXFxzIikgJT4lDQogIHN0cl9zdWJzZXQoIue8luWnlOS8mnxbYS16XXxeJCIsIG5lZ2F0ZT1UUlVFKSAlPiUNCiAgRnJlcShzb3J0PSItIikNCmBgYA0KDQojIyMjIOato+WImeihqOi+vuW8j+WcqOekvuS8muenkeWtpueglOeptuS4reacieS7gOS5iOeUqO+8nw0KDQrnjrDlnKjnmoTnpL7kvJrnp5HlrabnoJTnqbbotormnaXotorkvp3otZblpKfmlbDmja7lkozmlofmnKzliIbmnpDvvIznu4/luLjopoHlkozmtbfph4/mlofmnKzmiZPkuqTpgZPvvJoxMOS4h+adoeW+ruWNmuOAgTXkuIfku73pl67ljbfjgIHlh6Dnmb7lubTnmoTljoblj7LmoaPmoYjigKbigKbmraPliJnooajovr7lvI/lsLHmmK/lpITnkIbmlofmnKzmlbDmja7nmoTigJznpZ7lhbXliKnlmajigJ3jgIINCg0KMS4gICoq5riF5rSX5ZKM5pW055CG5pWw5o2u77yI5pWw5o2u4oCc5rSX5r6h4oCd77yJKioNCg0K5LuO572R5LiK54is5LiL5p2l55qE5pWw5o2u57uP5bi45b6I4oCc6ISP4oCd77ya5aS55p2C552A5bm/5ZGK5Luj56CB44CB5Lmx56CB44CB5aSa5L2Z55qE56m65qC844CC5q2j5YiZ6KGo6L6+5byP5Y+v5Lul5LiA6ZSu5oqK6L+Z5Lqb5Z6D5Zy+5riF55CG5o6J77yM55WZ5LiL5bmy5YeA55qE5paH5a2X44CC5Y6f5pys6ZyA6KaB5omL5Yqo5riF55CG5Yeg5LiH5p2h5pWw5o2u77yM5Y+v6IO96ZyA6KaB5LiA5Liq5Zui6Zif5bmy5LiA5ZGo77yb546w5Zyo55So5Yeg6KGM5q2j5YiZ6KGo6L6+5byP5Luj56CB77yM5Yeg56eS6ZKf5bCx6IO95a6M5oiQ77yM6ICM5LiU5YeG56Gu546H5p6B6auY44CCDQoNCjIuICAqKuaPkOWPluaWh+acrOS4reS/oeaBr++8iOS/oeaBr+KAnOmHh+efv+KAne+8iSoqDQoNCuavlOWmguS9oOaDs+eglOeptuKAnOW5uOemj+aEn+KAnei/meS4quivjeWcqOekvuS6pOWqkuS9k+S4iueahOeUqOazleOAguato+WImeihqOi+vuW8j+WPr+S7peW4ruS9oOaJvuWHuuaJgOacieWMheWQq+KAnOW5uOemj+KAneeahOWPpeWtkO+8jOW5tuS4lOiHquWKqOaKiuKAnOW5uOemj+KAneWJjemdouaYr+iwgeWcqOivtO+8iOavlOWmguKAnOaIkeinieW+l+W5uOemj+KAneKAnOS7luaEn+WIsOW5uOemj+KAne+8ieaPkOWPluWHuuadpe+8jOWPiOW/q+WPiOWHhuOAgg0KDQozLiAgKirlhoXlrrnliIbmnpDkuI7nvJbnoIHvvIjlsIbmloflrZflj5jmlbDmja7vvIkqKg0KDQrnpL7kvJrnp5HlrabnoJTnqbbnu4/luLjpnIDopoHlr7nmlofmnKzov5vooYzliIbnsbvlkoznvJbnoIHjgILmr5TlpoLvvIzkvaDmg7PliIbmnpDmlrDpl7vmiqXpgZPlr7nmn5DkuKrnpL7kvJrkuovku7bnmoTmgIHluqbmmK/igJzmraPpnaLigJ3jgIHigJzotJ/pnaLigJ3ov5jmmK/igJzkuK3nq4vigJ3jgILlj6/ku6XlhYjorr7lrprlpb3op4TliJnvvIzmr5TlpoLljIXlkKvigJzotZ7otY/igJ3jgIHigJzmlK/mjIHigJ3jgIHigJzmiJDlip/igJ3nrYnor43nmoTlvZLkuLrigJzmraPpnaLigJ3vvIzljIXlkKvigJzlj43lr7nigJ3jgIHigJzmibnor4TigJ3jgIHigJzpl67popjigJ3nrYnor43nmoTlvZLkuLrigJzotJ/pnaLigJ3jgILnhLblkI7vvIzmraPliJnooajovr7lvI/lsLHog73oh6rliqjmiavmj4/miYDmnInmlofnq6DvvIzlubbmoLnmja7ov5nkupvlhbPplK7or43nmoTlh7rnjrDmg4XlhrXvvIznu5nmr4/kuIDnr4fmlofnq6DotLTkuIrigJzmgIHluqbigJ3moIfnrb7jgILlh6Dnp5Lpkp/lsLHog73miorlh6DkuIfmnaHluJblrZDliIbnsbvlrozmr5XvvIzov5nkuI3ku4Xmr5Tkurrlt6XpmIXor7vnvJbnoIHlv6vml6DmlbDlgI3vvIzogIzkuJTmoIflh4blrozlhajnu5/kuIDvvIzpgb/lhY3kuoblm6DkuLrnoJTnqbbogIXnlrLlirPmiJbkuKrkurrkuLvop4LliKTmlq3luKbmnaXnmoTor6/lt67jgILlroPorqnlrprmgKfnoJTnqbblj6/ku6Xmi6XmnInlrprph4/liIbmnpDnmoTop4TmqKHjgIINCg0KIVvmraPliJnooajovr7lvI/lm77op6PvvIjlm77niYfmupDoh6rnvZHnu5zvvIldKGltYWdlcy9jbGlwYm9hcmQtMjYyMDQxOTcxOC5qcGVnKQ0KDQojIyMjIOOAkOefpeivhueCueOAkeato+WImeihqOi+vuW8jyB7I+efpeivhueCueato+WImeihqOi+vuW8j30NCg0KIyMjIyMg5q2j5YiZ6KGo6L6+5byPIC8g6KeE5b6L6KGo6L6+5byP77yIcmVndWxhci9wYXR0ZXJuIGV4cHJlc3Npb27vvIxSZWdFeO+8iQ0KDQrnroDljZXmnaXor7TvvIzmraPliJnooajovr7lvI/lsLHmmK/kuIDlpZfnlKjmnaUqKuaPj+i/sOaWh+acrOinhOWImeeahOKAnOWvhueggeKAnSoq44CC5a6D55So5LiA5Lqb54m55q6K56ym5Y+377yI5q+U5aaCYCpg44CBYCtg44CBYD9g44CBYFtdYO+8iee7hOWQiOaIkOKAnOaMh+S7pOKAne+8jOiuqeeUteiEkeaMieeFp+i/meS6m+inhOWImeWOu+aWh+acrOeahOa1t+a0i+mHjOeyvuWHhuWcsOaJvuWIsOS9oOaDs+imgeeahOWGheWuue+8iOavlOWmguS4gOWumuimgeaYr+KAnOiTneiJsuKAneS5i+WQjue0p+i3n+eahOKAnOaxvei9puKAne+8jOiAjOS4jeaYr+KAnOe6ouiJsuaxvei9puKAne+8ieOAgg0KDQotICoq5ZCr5LmJ77ya5o+P6L+w5a2X56ym5Liy6KeE5b6L77yI5qih5byP77yJ55qE6KGo6L6+5byPKioNCi0gKirnlKjpgJTvvJrmoLnmja7mqKHlvI/vvIzljLnphY3lrZfnrKbvvIjoh6rliqjlpITnkIbmlofmnKzvvIkqKg0KICAtICoq4oCc5aSn5rW35o2e6ZKI4oCd77yI6K+N6aKR57uf6K6h77yJKirvvJrku47mtbfph4/nmoTmlofmnKzmlbDmja7ph4zvvIzlv6vpgJ/mib7liLDnrKblkIjnibnlrprmqKHlvI/nmoTlrZfor43jgIHlj6XlrZDmiJbmrrXokL0NCiAgLSAqKuKAnOeCueefs+aIkOmHkeKAne+8iOaVsOaNrua4hea0l++8iSoq77ya5om+5Yiw5LmL5ZCO77yM5Y+v5Lul5a+56L+Z5Lqb5YaF5a656L+b6KGM5om56YeP55qE5L+u5pS544CB5Yig6Zmk44CB5pu/5o2i5oiW5o+Q5Y+W77yM5pW055CG5oiQ5pWw5o2u5YiG5p6Q5omA6ZyA6KaB55qE5qC85byPDQogIC0gKirigJzljrvkvKrlrZjnnJ/igJ3vvIjmnaHku7bliKTmlq3vvIkqKu+8mui/mOWPr+S7peeUqOadpeajgOafpeS/oeaBr+agvOW8j+aYr+WQpuato+ehru+8jOavlOWmguaJi+acuuWPt+eggeaYr+S4jeaYrzEx5L2N44CB6YKu566x5Zyw5Z2A6YeM5pyJ5rKh5pyJ4oCcXEDigJ3nrKblj7fnrYkNCi0g5q2j5YiZ6KGo6L6+5byP55qE4oCc5a+G56CB4oCd5YW25a6e5b6I5pyJ6YC76L6R77yM5Lmf5b6I5aW955CG6Kej77yM5q+U5aaC77yaDQogIC0gYFxkYO+8muS7o+ihqOKAnOS7u+S9leS4gOS4quaVsOWtl+KAne+8iDAtOe+8ie+8jOWwseWDj+WcqOivtOKAnOe7meaIkeaJvuS4gOS4quaVsOWtl+KAnQ0KICAtIGBbYS16XWDvvJrku6PooajigJzku7vkvZXkuIDkuKroi7HmloflsI/lhpnlrZfmr43igJ3vvIzlsLHlg4/lnKjor7TigJznu5nmiJHmib7kuIDkuKrlsI/lhpnlrZfmr43igJ0NCiAgLSBgKmDvvJrku6PooajigJzliY3pnaLnmoTkuJzopb/lj6/ku6Xlh7rnjrDpm7bmrKHmiJblpJrmrKHigJ3vvIzlsLHlg4/lnKjor7TigJzov5nkuKrmqKHlvI/lj6/ku6Xph43lpI3ml6DmlbDmrKHigJ0NCiAgLSBgK2DvvJrku6PooajigJzliY3pnaLnmoTkuJzopb/oh7PlsJHlh7rnjrDkuIDmrKHigJ3vvIzlsLHlg4/lnKjor7TigJzov5nkuKrmqKHlvI/oh7PlsJHopoHlh7rnjrDkuIDmrKHigJ0NCiAgLSBgLmDvvJrku6PooajigJzku7vkvZXkuIDkuKrlrZfnrKbigJ3vvIjpmaTkuobmjaLooYznrKbvvInvvIzlsLHlg4/kuIDlvKDkuIfog73niYzvvIzlj6/ku6Xku6Pmm7/ku7vkvZXkuIDkuKrlrZfnrKYNCg0KPiDkuIDml6blrabkvJrvvIzkvaDlsLHmi6XmnInkuobkuIDnp43npZ7lpYfnmoTog73lipvvvJrliKvkurrov5jlnKjkuIDmnaHmnaHlpI3liLbnspjotLTjgIHogonnnLzmkJzntKLnmoTml7blgJnvvIzkvaDlt7Lnu4/lj6/ku6Xllp3nnYDlkpbllaHvvIzovbvmnb7nnIvnnYDnlLXohJHluK7kvaDmiorlh6DkuIfmnaHnlJroh7Plh6Dnmb7kuIfmnaHmlofmnKzmlbDmja7lnKjlh6Dnp5LkuYvlhoXoh6rliqjmlbTnkIblpb3jgILov5nlsLHmmK/mraPliJnooajovr7lvI/nmoTprYXlipvigJTigJTmiornuYHnkJDnmoTmiYvlt6XlirPliqjvvIzlj5jmiJDoh6rliqjljJbnmoTigJzprZTms5XigJ3jgIINCg0KIyMg77yIMe+8ieWtl+espuWMuemFjQ0KDQohW10oaW1hZ2VzL2NsaXBib2FyZC00MDg2NTc2NTgzLnBuZykNCg0KIyMjIyDjgJDlrp7ot7Ux44CR5a2X56ym5Yy56YWNIHsj5a6e6Le1MeWtl+espuWMuemFjX0NCg0KIVtdKGltYWdlcy9jbGlwYm9hcmQtMTU3NjM5MTE4Mi5wbmcpDQoNCmBgYHtyfQ0KdGV4dCA9ICLnrJTorrDmnKzkuIrlronoo4VTUFNTMjLmiJYyMO+8jOaOiOadg+eggeWkjeWItuS4jeS4iu+8jOWvvOiHtOWuieijheWksei0peOAguW3sue7j+ivleS6huWkmuasoeS6hu+8jOmDveWuieijheS4jeS4ilNwU1PvvIzor7fpl67mnInpgYfliLDov5nnp43mg4XlhrXnmoTlkJfvvJ/nlLXohJHmmK82NOS9jeeahO+8jFNwc3PmmK8zMuS9jeeahO+8jOaYr+i/meS4quWOn+WboOWQl++8n+S5i+WJjVNwc1PlnKjlhbbku5bnrJTorrDmnKzlkozlj7DlvI/nlLXohJHkuIrpg73lronoo4XmiJDlip/kuobjgIIiDQpjYXQodGV4dCkNCg0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJTUFNTIikgICMg5a6M5pW05a2X56ym5LiyDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIlNQU1N8U3BzcyIpICAjICJ8IuihqOekuuaIluiAhQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJbU1BTU3xzcHNzXSIpICAjIOaAneiAg++8muS4uuS7gOS5iO+8nw0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJbU3NQcF0iKQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJbU3NdW1BwXVtTc11bU3NdIikNCg0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJcXGQiKQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJcXGRcXGQiKQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJcXGRcXGTkvY0iKQ0KYGBgDQoNCiMjIO+8iDLvvInmnaHku7bljLnphY0NCg0KIVtdKGltYWdlcy9jbGlwYm9hcmQtMzAyMTI4NzA4MC5wbmcpDQoNCiMjIyMg44CQ5a6e6Le1MuOAkeadoeS7tuWMuemFjSB7I+Wunui3tTLmnaHku7bljLnphY19DQoNCmBgYHtyfQ0KdGV4dCA9ICLnrJTorrDmnKzkuIrlronoo4VTUFNTMjLmiJYyMO+8jOaOiOadg+eggeWkjeWItuS4jeS4iu+8jOWvvOiHtOWuieijheWksei0peOAguW3sue7j+ivleS6huWkmuasoeS6hu+8jOmDveWuieijheS4jeS4ilNwU1PvvIzor7fpl67mnInpgYfliLDov5nnp43mg4XlhrXnmoTlkJfvvJ/nlLXohJHmmK82NOS9jeeahO+8jFNwc3PmmK8zMuS9jeeahO+8jOaYr+i/meS4quWOn+WboOWQl++8n+S5i+WJjVNwc1PlnKjlhbbku5bnrJTorrDmnKzlkozlj7DlvI/nlLXohJHkuIrpg73lronoo4XmiJDlip/kuobjgIIiDQpjYXQodGV4dCkNCg0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJcXGR7Mn3kvY0iKQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJbU3NQcF17NH0iKQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICJbU1BdezR9IikNCnN0cl9leHRyYWN0X2FsbCh0ZXh0LCAiW1Nwc10rIikNCnN0cl9leHRyYWN0X2FsbCh0ZXh0LCAiKFNwcykrIikNCnN0cl9leHRyYWN0X2FsbCh0ZXh0LCAiU3BzKyIpDQpgYGANCg0KIyMg77yIM++8iemihOafpeWMuemFjQ0KDQohW10oaW1hZ2VzL2NsaXBib2FyZC00MTg0NDI4NTQ1LnBuZykNCg0KIyMjIyDjgJDlrp7ot7Uz44CR6aKE5p+l5Yy56YWNIHsj5a6e6Le1M+mihOafpeWMuemFjX0NCg0KYGBge3J9DQp0ZXh0ID0gIueslOiusOacrOS4iuWuieijhVNQU1MyMuaIljIw77yM5o6I5p2D56CB5aSN5Yi25LiN5LiK77yM5a+86Ie05a6J6KOF5aSx6LSl44CC5bey57uP6K+V5LqG5aSa5qyh5LqG77yM6YO95a6J6KOF5LiN5LiKU3BTU++8jOivt+mXruaciemBh+WIsOi/meenjeaDheWGteeahOWQl++8n+eUteiEkeaYrzY05L2N55qE77yMU3Bzc+aYrzMy5L2N55qE77yM5piv6L+Z5Liq5Y6f5Zug5ZCX77yf5LmL5YmNU3BzU+WcqOWFtuS7lueslOiusOacrOWSjOWPsOW8j+eUteiEkeS4iumDveWuieijheaIkOWKn+S6huOAgiINCmNhdCh0ZXh0KQ0KDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIlxcZHsyfeS9jSIpDQpzdHJfZXh0cmFjdF9hbGwodGV4dCwgIlxcZHsyfSg/PeS9jSkiKSAgIyDlkI7lkJHogq/lrprpooTmn6UNCnN0cl9leHRyYWN0X2FsbCh0ZXh0LCAiXFxkezJ9KD8h5L2NKSIpICAjIOWQjuWQkeWQpuWumumihOafpQ0Kc3RyX2V4dHJhY3RfYWxsKHRleHQsICIoPzw9U1BTUylcXGR7Mn0iKSAgIyDliY3lkJHogq/lrprpooTmn6UNCnN0cl9leHRyYWN0X2FsbCh0ZXh0LCAiKD88IVNQU1MpXFxkezJ9IikgICMg5YmN5ZCR5ZCm5a6a6aKE5p+lDQpgYGANCg0KIyDlrZfnrKbkuLLlpITnkIblrp7miJgNCg0KYHN0cmluZ3Jg5YyFDQoNCi0g5YWx5ZCM5Y+C5pWwDQogIC0gYHN0cmluZ2DvvJrlrZfnrKbkuLLovpPlhaUNCiAgLSBgcGF0dGVybmDvvJrmraPliJnooajovr7lvI8NCi0g5bi455So5Ye95pWwDQogIC0g5Yik5pat77yaYHN0cl9kZXRlY3QoKWANCiAgLSDorqHmlbDvvJpgc3RyX2NvdW50KClgDQogIC0g5o+Q5Y+W77yaYHN0cl9leHRyYWN0KClg44CBYHN0cl9leHRyYWN0X2FsbCgpYA0KICAtIOabv+aNou+8mmBzdHJfcmVwbGFjZSgpYOOAgWBzdHJfcmVwbGFjZV9hbGwoKWANCiAgLSDliKDpmaTvvJpgc3RyX3JlbW92ZSgpYOOAgWBzdHJfcmVtb3ZlX2FsbCgpYA0KICAtIOWIhuWJsu+8mmBzdHJfc3BsaXQoKWANCiAgLSDlkJHph4/lj5bljLnphY3lrZDpm4bvvJpgc3RyX3N1YnNldCgpYA0KDQojIyMjIOOAkOWunui3tTTjgJHlrZfnrKbkuLLnu7zlkIjlpITnkIYgeyPlrp7ot7U05a2X56ym5Liy57u85ZCI5aSE55CGfQ0KDQotIOivvueoi+Wbnumhvu+8mltDaGFwMDMgXCMg6Z2Z5oCB572R6aG16Kej5p6QXShodHRwczovL3BzeWNoYnJ1Y2UuZ2l0aHViLmlvL1JDb3Vyc2UvQ2hhcDAzIyVFNSVBRSU5RSVFOCVCNyVCNTUlRTklOUQlOTklRTYlODAlODElRTclQkQlOTElRTklQTElQjUlRTglQTclQTMlRTYlOUUlOTApey51cml9DQotIOe9kemhtee0oOadkO+8mlvljY7kuJzluIjojIPlpKflrablv4PnkIbkuI7orqTnn6Xnp5HlrablrabpmaLigJzluIjotYTpmJ/kvI3igJ1dKGh0dHBzOi8vcHN5LmVjbnUuZWR1LmNuLzE3NDM3L2xpc3QuaHRtKXsudXJpfQ0KDQpgYGB7cn0NCiMjIOaVsOaNrumHh+mbhg0KIyMg5bey5Yqg6L29cnZlc3TljIXvvJpsaWJyYXJ5KHJ2ZXN0KQ0KdXJsID0gImh0dHBzOi8vcHN5LmVjbnUuZWR1LmNuLzE3NDM3L2xpc3QuaHRtIiAgIyDlrabpmaLluIjotYTpmJ/kvI3pobXpnaINCnhtbCA9IHVybCAlPiUgcmVhZF9odG1sKCkgICMg6K+75Y+W572R6aG15omA5pyJ5L+h5oGvDQp4bWwNCg0KIyMg5a2X56ym5Liy5aSE55CG77yIMe+8ie+8mumZouezu+WQjeensA0KbWVudSA9IHhtbCAlPiUgaHRtbF9lbGVtZW50cygiLmNvbHVtbi1pdGVtLWxpbmsgLmNvbHVtbi1uYW1lIikgJT4lIGh0bWxfdGV4dDIoKQ0KbWVudQ0KDQpzdHJfc3Vic2V0KG1lbnUsICLns7siKQ0Kc3RyX3N1YnNldChtZW51LCAi57O7JCIpDQpzdHJfc3Vic2V0KG1lbnUsICIuKuezuyQiKQ0Kc3RyX3N1YnNldChtZW51LCAiLiooPz3ns7skKSIpICAjIOWPquaYr+WPluWtkOmbhu+8jOW5tuS4jeiDvemihOafpeaPkOWPlg0Kc3RyX2V4dHJhY3QobWVudSwgIi4qKD8957O7JCkiKSAgIyDnnJ/mraPnmoTpooTmn6Xmj5Dlj5YNCnN0cl9leHRyYWN0KG1lbnUsICIuKig/PeezuyQpIikgJT4lIG5hLm9taXQoKSAgIyDnp7vpmaTnvLrlpLHlgLxOQQ0KDQojIyDlrZfnrKbkuLLlpITnkIbvvIgy77yJ77ya5Lq65omN6K6h5YiSDQp0aXRsZSA9IHhtbCAlPiUgaHRtbF9lbGVtZW50cygiLnN1YmNvbHVtbi1uYW1lIikgJT4lIGh0bWxfdGV4dDIoKQ0KdGl0bGUNCnN0cl9zdWJzZXQodGl0bGUsICLkurrmiY0iKQ0Kc3RyX3N1YnNldCh0aXRsZSwgIuS6uuaJjSQiKQ0Kc3RyX3N1YnNldCh0aXRsZSwgIuS4iua1t+W4gi4qIikNCnN0cl9zdWJzZXQodGl0bGUsICJe5LiK5rW35biCIikNCnN0cl9leHRyYWN0KHRpdGxlLCAiKD88PV7kuIrmtbfluIIpLiooPz3lrabogIUkfOiuoeWIkiQpIikgJT4lIG5hLm9taXQoKQ0KDQojIyDlrZfnrKbkuLLlpITnkIbvvIgz77yJ77ya5pWZ5biI5aeT5ZCNDQpuYW1lID0geG1sICU+JSBodG1sX2VsZW1lbnRzKCIuY29sdW1uLW5ld3MtdGl0bGUiKSAlPiUgaHRtbF90ZXh0MigpDQpuYW1lDQoNCnRhYmxlKG5hbWUpDQp1bmlxdWUobmFtZSkNCg0KbmFtZSAlPiUgdW5pcXVlKCkgJT4lIHNvcnQoKQ0KbmFtZSAlPiUgdW5pcXVlKCkgJT4lIHNvcnQoKSAlPiUgc3RyX3JlbW92ZV9hbGwoIuWNmuWjq3xcXHMiKQ0KDQpuYW1lICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgc29ydCgpICU+JQ0KICBzdHJfcmVtb3ZlX2FsbCgi5Y2a5aOrfFxccyIpICU+JQ0KICBzdHJfc3Vic2V0KCLlroEiKQ0KDQpuYW1lICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgc29ydCgpICU+JQ0KICBzdHJfcmVtb3ZlX2FsbCgi5Y2a5aOrfFxccyIpICU+JQ0KICBzdHJfc3Vic2V0KCJe6LW1fF7pkrF8XuWtmXxe5p2OIikgICMg6LW16ZKx5a2Z5p2O77yM5ZGo5ZC06YOR546LDQoNCm5hbWUgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBzb3J0KCkgJT4lDQogIHN0cl9yZW1vdmVfYWxsKCLljZrlo6t8XFxzIikgJT4lDQogIHN0cl9zdWJzZXQoIl5b5ZGo5ZC06YOR546LXSIpICAjIOi1temSseWtmeadju+8jOWRqOWQtOmDkeeOiw0KDQojIyDooaXlhYXvvJrlrZfnrKblkJHph48gdnMuIOWbuuWumuS9jee9ruWtl+espuaPkOWPlg0KIlBzeWNob2xvZ3kiWzFdICAjIOmVv+W6puS4ujHnmoTlrZfnrKblkJHph4/vvIxbMV3ku43nhLbmmK/lrZfnrKbkuLLvvIzogIzkuI3mmK/nrKwx5Liq5a2X5q+NDQpzdHJfc3ViKCJQc3ljaG9sb2d5IiwgMSwgMSkgICMg5o+Q5Y+W56ysMeS4quWtl+avjQ0Kc3RyX3N1YigiUHN5Y2hvbG9neSIsIDEsIDUpICAjIOaPkOWPluesrDF+NeS4quWtl+avjQ0KYGBgDQoNCi0gW+ixhueTo+eUteW9seekuuS+i+aVsOaNriguUkRhdGEpXShodHRwczovL3BzeWNoYnJ1Y2UuZ2l0aHViLmlvL1JDb3Vyc2UvZGF0YS9kb3ViYW5fbW92aWVzLlJEYXRhKQ0KDQpgYGB7ciwgZXZhbD1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiMjIOWvvOWFpeWcqOe6v+aVsOaNru+8iGRvdWJhbl9tb3ZpZXMuUkRhdGHvvIkNCmRhdGEgPSBpbXBvcnQoImh0dHBzOi8vcHN5Y2hicnVjZS5naXRodWIuaW8vUkNvdXJzZS9kYXRhL2RvdWJhbl9tb3ZpZXMuUkRhdGEiKQ0KZHQgPSBhcy5kYXRhLnRhYmxlKGRhdGEpDQpgYGANCg0KKiror77loILlrp7miJjnu4PkuaDvvIjpl67popjop6PlhrPlr7zlkJHnmoTlrabkuaDvvInvvJoqKg0KDQotIOS7jueUteW9seagh+mimOWPmOmHj++8iGB0aXRsZWDvvInmj5Dlj5bnlLXlvbHnmoTkuIrmmKDlubTku70NCi0g6YCJ5Y+W5bim5pyJMFx+OeaVsOWtl+eahOeUteW9seagh+mimA0KLSDpgInlj5bluKbmnInlubTku73mlbDlrZfnmoTnlLXlvbHmoIfpopgNCi0g6YCJ5Y+W5qih5byP5Li64oCc6auY6ICDMTk3N+KAneeahOeUteW9seagh+mimA0KLSDigKbigKYNCg0KIyMjIyDjgJDmjqLntKLlj5HnjrDjgJFzdHJpbmdy5YyF55qE5Ye95pWw5Yqf6IO9IHsj5o6i57Si5Y+R546wc3RyaW5ncuWMheeahOWHveaVsOWKn+iDvX0NCg0KLSDmo4DmtYvljLnphY0NCg0KIVtdKGltYWdlcy9jbGlwYm9hcmQtMTgwODgzNDA5OC5wbmcpDQoNCi0g5a2Q6ZuG5o+Q5Y+WDQoNCiFbXShpbWFnZXMvY2xpcGJvYXJkLTkwMDgwMjQwMi5wbmcpDQoNCi0g6ZW/5bqm5o6n5Yi2DQoNCiFbXShpbWFnZXMvY2xpcGJvYXJkLTQyMDA2NjI0MTEucG5nKQ0KDQotIOabv+aNouS/ruaUuQ0KDQohW10oaW1hZ2VzL2NsaXBib2FyZC0zMTA0MzExMTM1LnBuZykNCg0KLSDmi7zmjqXliIblibINCg0KIVtdKGltYWdlcy9jbGlwYm9hcmQtMzMzMzQ2Njk3Mi5wbmcpDQoNCiMg44CQ5L2c5LiaNeOAkeWtl+espuWQkemHj+WkhOeQhg0KDQrkvZzkuJropoHmsYLvvJoNCg0KLSDlm7Tnu5Vgc3RyaW5ncmDljIXmj5DkvpvnmoTlrZfnrKbkuLLnpLrkvovmlbDmja5gZnJ1aXRg77yIODDkuKrmsLTmnpzlkI3np7DvvInvvIzov5DnlKhgc3RyX2RldGVjdCgpYOOAgWBzdHJfc3Vic2V0KClg44CBYHN0cl9leHRyYWN0X2FsbCgpYOOAgWBzdHJfcmVwbGFjZV9hbGwoKWDnrYlgc3RyaW5ncmDljIXlh73mlbDkuK3nmoToh7PlsJEy5Liq77yM5Lu75oSP5a6M5oiQ6Iez5bCRMuenjeWtl+espuS4suWkhOeQhuS7u+WKoe+8jOW5tuWvueS7o+eggeWSjOe7k+aenOi/m+ihjOeugOWNleeahOazqOmHiuWSjOino+ivuw0KLSDkvb/nlKhSIE1hcmtkb3du5a6M5oiQ77yM6L+Q6KGM5riy5p+T5b6X5Yiw5pys5ZywSFRNTOe9kemhteaWh+S7tg0KDQrlubPlj7Dmj5DkuqTvvJoNCg0KLSDov5DooYzlvpfliLBIVE1M572R6aG15paH5Lu255qEKirlhbPplK7pg6jliIbmiKrlm77vvIjlj6rpnIDkuIrkvKDmiKrlm77vvIkqKg0KDQpgYGB7cn0NCiMjIOmZhO+8muS9nOS4mumcgOimgeeUqOWIsOeahOaVsOaNrumbhu+8iOWtl+espuWQkemHj++8iQ0Kc3RyaW5ncjo6ZnJ1aXQNCmBgYA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KW+i/lOWbnuivvueoi+S4u+mhtV0oaHR0cHM6Ly9wc3ljaGJydWNlLmdpdGh1Yi5pby9SQ291cnNlLykNCg0Kwqkg5YyF5a+S5ZC06ZycDQo=