* Welcome to The Carpentries Maintainer Onboarding! This pad is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents. Use of this service is restricted to members of The Carpentries community; this is not for general purpose use (for that, try etherpad.wikimedia.org). Users are expected to follow our code of conduct: https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html All content is publicly available under the Creative Commons Attribution License: https://creativecommons.org/licenses/by/4.0/ Looking for another Carpentries etherpad? Check out the pad of pads: https://pad.carpentries.org/pad-of-pads General questions? Contact team@carpentries.org * Accommodations The Carpentries is committed to providing inclusive and accessible content that enables all individuals, including those with disabilities, to participate and engage fully. We are actively working to increase the accessibility and usability of Carpentries’ content and in doing so adhere to many of the available standards and guidelines, including those from the World Wide Web Consortium. *Request an Accommodation To read the full accessibility statement and to request an accommodation: Equity, Inclusion, and Accessibility https://carpentries.org/eia/ If you have questions or need assistance with the accommodation form, please email The Carpentries, team@capentries.org. _________________________________________________________________________ *Meeting link: https://carpentries.zoom.us/j/3135836583?pwd=d051cWlZcUxPZHFkS3ZueHJEM1B4dz09 See bottom of this Etherpad for dial in information. *Schedule https://pad.carpentries.org/maintainer-onboarding-2025 *Welcome to the Maintainer Community https://carpentries.github.io/maintainer-onboarding/01-welcome.html *Learning Objectives * Introduce yourself to your fellow new Maintainers. * Describe what will and will not be covered in this training. * Articulate The Carpentries overall goals for our Maintainer community. *Code of Conduct https://docs.carpentries.org/policies/coc/ * Use welcoming and inclusive language * Be respectful of different viewpoints and experiences * Gracefully accept constructive criticism * Focus on what is best for the community * Show courtesy and respect towards other community members *Introductions Name, location, pronouns, one thing that made you happy today * Kellie Templeman, University of Georgia (Athens, GA), she/her, seeing all our new graduates taking pictures on our campus this morning! :-) * Marco Dalla Vecchia, Vienna Austria, he/him, sunny day today ;) * Shelby Watson, Oxford, Mississippi, USA, she/her, today is our last day of classes! * Carolyn Koehn, Boise, Idaho, USA, she/her, cuddling my cat before getting out of bed * Rafia Mirza, southern Methodist University, (Dallas, TX),she/her, also cat related :) morning cuddle * Kendra Oudyk, McGill University in Montreal Canada, she/her, watching our new Prime Minister giving a speech * Elizabeth Stregger, Mount Allison University, (Sackville, New Brunswick, Canada), they/she, waking up to coffee in bed! * Nicky Garland, Newcastle, UK, he/him, Being at home (was away all week for work)! * Allie Tatarian (they/them), Tufts University (Boston, MA), did a nice yoga routine this morning * Craig Gross, Michigan State University, East Lansing, MI, US, he/him, getting a donut from the local coffee shop * Nil Mu, Arizona State University, U.S., he/him, cuddle with my pet bunnies : ) * Teofil Nakov, Costa Rica. Got some nice coffee and bread this morning * Ahmed Unshur, Mogadishu, Somalia, he/him, visited my brother * Cooper Kimball-Rhines, University of Massachusetts Boston, US, he/him * Gandhimathi (Mathi) Padmanaban, University of Michigan, USA, she/her, talking to a close friend after a few years this morning * Maria Fernanda RIbeiro DIas. Universidade Federal do RIo de Janeiro. Brazil. talking with a friend and my daugther * Previous Experience (5 min) Please put an “x” next to each item that corresponds to your answer to the question In what ways have you been involved in The Carpentries community? * Contributed to lesson materials xxxx * HelperxXxxxxxxxx * Instructor xxxxxXxxxxxx * Learner xxxXxxxxxx * Trainer * Executive Council member * Committee or Task Force member * Workshop organizer or host xxxxxx * None of the above X How often do you currently use Git? * Never * Less than once per year x * Several times per year xX * Monthlyxxx * Weeklyxxxxxxx * Daily xxx How often do you currently use GitHub? * Never * Less than once per year * Several times per year xX * Monthly xxx * Weekly xxxxxxxxx * Daily x Which operating system(s) do you commonly use? * macOS xx * Linux xxxxxxx * Windows xxxxxXxxxxx * Not sure *Maintainer Onboarding Overview * Orient you to The Carpentries goals and vision for lesson maintanence * Help you get connected with other Maintainers and the overall Maintainer community * Develop skills for creating a positive environment for all contributors * Become familiar with the key components of the lesson template * Practice core technical skills for lesson maintanence * Learn how and when to elevate issues to your Curriculum Advisory Committee *What This Onboarding Does Not Cover * https://carpentries.github.io/lesson-development-training/ * https://swcarpentry.github.io/git-novice/ * https://librarycarpentry.org/lc-git/ *Goals for Lesson Maintenance * Monitor your lesson repository and make sure that pull requests (PRs) and Issues are responded to in a timely manner (even if that response is “sorry, this is out of scope”), - about 400 lessons taught in a year! Be mindful that people might be using the lesson when you change it. * Do not introduce new errors into the lesson, * Quickly fix anything that is unambiguously an error or that negatively affects workshop learners, - for gray areas discuss with other maintainers. * Be receptive and welcoming to suggestions for improving the lessons. They aren’t perfect! - Avoid jargon, use simple language wherever possible. Responses on GitHub should follow the same guidelines of instruction of not being dismissive, using "just", "only", etc. * Evaluate all contributions in view of The Carpentries pedagogical model: * Teach what is most relevant and useful for learners. (https://carpentries.github.io/instructor-training/08-motivation.html#how-can-content-influence-motivation) * Avoid unnecessary jargon and detailed explanations. Always ask yourself whether it is necessary for the learner. * Keep language motivating. * Meet learners where they are. (almost all lessons are designed for novice learners) * Emphasise the importance of continued learning and improvement. Maintainer handbook: https://docs.carpentries.org/handbooks/maintainers.html *Key Points * The Carpentries is a community of practice. We strive to provide a welcoming environment for all learners and take our Code of Conduct seriously. * This training will prepare you to get started in your role as a Maintainer. ---------------------------------------------------------------- *Communicating with Contributors https://carpentries.github.io/maintainer-onboarding/02-communicate-contributors.html *Learning Objectives * Use The Carpentries Core Values to guide your interactions with contributors. * Gain confidence identifying and politely declining out-of-scope contributions. * Develop strategies to avoid demotivating contributors. *Interacting with Contributors * Trainees who have gone through Instructor Training and are submitting a contribution as part of “checkout” to complete their Instructor certification. * Workshop Instructors (and helpers) who have recently participated in a workshop and noticed difficulties with the materials. *Where do Contributions Come From? https://carpentries.org/lessons/help_wanted/ *Help Wanted (2 minutes) Locate your lesson’s help wanted list. If you haven't been assigned a lesson, find a lesson you are interested in maintaining and use that lesson for now. The help wanted list is boosted on the Carpentries website: https://carpentries.org/lessons/help_wanted/ NB: Seems to be a superset of (open) "good first issue" or "help wanted". Github orgs for each Carpentry (to find lessons) https://github.com/datacarpentry https://github.com/librarycarpentry https://github.com/swcarpentry * How many issues are currently open with the help wanted tag? How many have been closed? * 0! (13 total open, 20 closed) Wikidata, Library Carpentry * 0 open (2 closed) - Introduction to R (Library Carpentry) * 1 open *Data Analysis and Visualization in R for Ecologists (Data Carpentry) * 2 - image-processing * 1 (12 total open, 68 closed) - Data Org in Spreadsheets for Social Scientists * 1 open/9 closed-- Databases & SQL * 2 - Introduction to Cloud Computing for Genomics * 20 open, 385 closed (help wanted: 2) - R for Ecologists * 10 open, 75 closed - R for Reproducible Scientific Analysis (Software Carpentry) * The Unix Shell (Software Carpentry), 75 open, 478 closed * 0? (2 open, 52 closed, 1 PR) Introduction to Python (Library Carpentry) * 4 for Intro Computational Thinking https://librarycarpentry.github.io/lc-computational-thinking/ * Lesson assignment list: https://docs.google.com/spreadsheets/d/18Rb2WpJ9ZSVji-HuRPpIpr9iVzICLeHaVCgfoiGwCc8/edit?gid=0#gid=0 What to do when a contributor stops responding: https://docs.carpentries.org/handbooks/maintainers.html#when-and-how-should-i-take-over-somebody-s-unfinished-contribution *Practice Saying No (5 minutes) https://opensource.guide/best-practices/#learning-to-say-no * Thank them for their contribution. * Explain why it doesn’t fit into the scope of the project, and offer clear suggestions for improvement, if you’re able. Be kind, but firm. - Adding new content should balance with the amount of time to teach; hard to fully teach the lessons as is. Try to link to previous discussion or relevant documentation - consider creating / adding to lesson discuss page for design decision for repeated requests. * Link to relevant documentation, if you have it. If you notice repeated requests for things you don’t want to accept, add them into your documentation to avoid repeating yourself. * Close the request The issues linked below are good examples of Maintainers saying “no” politely. Read one of these and reflect on how it uses the recommendations from GitHub’s OpenSource Guide. If you had to respond to this issue, is there anything you would add or do differently? * lc-shell - email submission: suggest adding Hello World - https://github.com/LibraryCarpentry/lc-shell/issues/143 * swc-git - Lesson Contribution - Additional Commands - https://github.com/swcarpentry/git-novice/issues/765 * swc-r-novice-inflammation - Additional exercise for “Using loops” challenge - https://github.com/swcarpentry/r-novice-inflammation/pull/168 *Motivating Language (5 minutes) https://carpentries.github.io/instructor-training/04-expertise.html#just-and-other-dismissive-language We teach Instructors to avoid using language that can demotivate learners. The same principles apply in lesson maintenance. What are some words or phrases that could have the effect of demotivating contributors? What alternatives can we use to express this meaning in a positive and motivational way? In the Etherpad, make a list of demotivating words/phrases and alternatives. * you should have checked XXX ++++ * "just"++ * No without explanation * "you can see ..." - things that are obvious to me are not obvious to others +++ * "It's easy..." +++++ * "it's clearly explained in the documentation" ++++ * sending link without additional info++++ * Obviously / obviously not ++++ * "This is common knowledge"+ * "That's in the instructor notes"+ * "trivial"+ * * *Top Ten Tips for Managing Issues and PRs https://carpentries.github.io/maintainer-onboarding/02-communicate-contributors.html#top-ten-tips-for-managing-issues-and-prs 1. Acknowledge receipt 2. Tag issues with descriptive labels 3. Include appropriate cross-references https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue 4. Use the @ symbol to tag people in a conversation 5. Request reviews 6. Don’t merge your own PRs 7. Do edit PRs as needed 8. Don’t close an issue or PR without explaining why 9. Do close issues that have gone stale, are outdated, or out of scope (after explaining why). 10. Pay attention to comments about accessibility and demotivating or exclusionary language. *Key Points * Valuing all contributions is one of The Carpentries Core Values https://carpentries.org/about-us/#our-values. * Not all contributions can, or should, be accepted. ----------------------------------------------------------------- *Communicating with Other Maintainers https://carpentries.github.io/maintainer-onboarding/03-communicate-maintainers.html *Learning Objectives * Join the appropriate communication channels to stay connected with fellow Maintainers. * Know how to get in touch with others in The Carpentries who support Maintainers. * Add Maintainer meetings to your calendar. *Synchronous communications *Maintainer meetings *Add to Your Calendar (5 minutes) Add the monthly Maintainer meetings to your calendar by either * subscribing to The Carpentries community calendar (https://carpentries.org/community/events/) – you can do so in most calendar applications using the ics feed mentioned at the top of that page – and copying events to your Google Calendar, or * clicking the TimeandDate links on the Maintainers CodiMD pad (https://codimd.carpentries.org/maintainers?both) to convert the events to your local time, and adding to your calendar manually. If you are planning to attend the upcoming meeting, add your name to the CodiMD pad to let us know you will be there! Reason to join the class is: * Updates from core team. * Things broken across lessons. * When things happening like introducing advice on AI and LLMs across lessons. * Carpentries handbook was developed in direct consultation with maintainers from these calls. * Bring PRs you are stuck on. * Sometimes have mini code fests polishing off low hanging issues. * Well worth it and for staying connected and getting tips. *Asynchronous communications * TopicBox https://carpentries.topicbox.com/groups/maintainers - Mostly for major updates, e.g. meeting coming up, relevant blog post. Also for cross-community maintainer discussion, but posts need to be approved by Toby or Nathaniel. * Slack https://slack-invite.carpentries.org/ - Join two channels: locked #maintainers channel (if you already have a lesson assignment, you may have been added). Also #workbench for lesson infrastructure updates - if your lesson isn't building correctly, or you're looking for new features. Some lessons also have private slack channels that would otherwise clutter up git (more useful if you're regularly on Slack). * GitHub - Subscribe to your lesson repo. Will use the most, including with core teams and curriculum advisory committees. *Tagging in your lesson team Each group of Maintainers is associated with a GitHub team. After you have completed this onboarding, you will be added to the appropriate Maintainer team. You will then be able to find the name of your team below: * Library Carpentry: https://github.com/orgs/LibraryCarpentry/teams/lesson-maintainers/teams * Data Carpentry: https://github.com/orgs/datacarpentry/teams/lesson-maintainers/teams * Software Carpentry: https://github.com/orgs/swcarpentry/teams/lesson-maintainers/teams tag the curriculum team: @ORG_HANDLE/core-team-curriculum key piece of interacting *General Carpentries News * The Carpentries Clippings (https://carpentries.org/newsletter/) - our monthly newsletter. * https://hachyderm.io/@thecarpentries on Mastodon * also bluesky https://bsky.app/profile/carpentries.carpentries.org * The Carpentries blog (https://carpentries.org/blog/) - should have an RSS feed. *Subscribe! (5 minutes) That’s a lot of communication channels! You don’t need to subscribe to everything. The list below summarizes which channels are required and which are highly recommended. Required * Maintainers TopicBox list (public) (https://carpentries.topicbox.com/groups/maintainers) * Maintainers Slack channel (private) * Your lesson’s GitHub repository Highly Recommended * Maintainers RFC GitHub repository (https://github.com/carpentries/maintainer-RFCs/) * Any TopicBox lists or Slack channels related to your lesson Take a few minutes to subscribe to the above channels. Write “done” in the Etherpad. * *Introduce Yourself (2 minutes) While folks are working on subscribing to the channels above, I will add you to the private Maintainers Slack channel. Please introduce yourself on that channel, including what lesson you will be maintaining. *Key Points * The Maintainer community communicates on TopicBox, Slack, and GitHub. * The Maintainer community meets monthly. ----------------------------------------------------------------- *Communicating with Curriculum Advisors https://carpentries.github.io/maintainer-onboarding/04-communicate-advisors.html *Learning Objectives * Describe who has authority, and responsibility, to make different types of decisions. * Gain confidence in merging simple PRs independently. * Know when and how to contact Curriculum Advisors. The Curriculum Advisory Committees (CAC) Consultation Rubric (https://docs.carpentries.org/handbooks/curriculum_advisors.html#curriculum-advisory-committee-consultation-rubric) outlines the division of responsibilities for Maintainers and Curriculum Advisors, including * issues over which Maintainers have full authority and which do not need CAC involvement, * issues about which Maintainers should consult the CAC, * issues that may benefit from Maintainers consulting with the CAC, but over which Maintainers retain authority, and * issues for which Maintainers must seek CAC approval. More information about each CAC, including mailing list and GitHub repositories, is available on the Curriculum Advisors homepage. https://carpentries.org/curriculum-advisors/ *Which strategy? (5 minutes) Match the issue with the correct strategy for resolving it. 1. Needs elevation to CAC DD CC DDD 2. Simple fix by a single Maintainer without review B BBBBBBBB 3. Put in a PR and wait for another Maintainer to review BAAAАAAABAC 4. Raise the issue for conversation at Maintainer co-working corral or on email list (D 4 then 1? CAC mentioned) C?C * (A) RStudio installer versioning - https://github.com/datacarpentry/R-ecology-lesson/issues/791 * (B) A small change in the episode “Finding Things” - https://github.com/swcarpentry/shell-novice/issues/1294 * (C) Move Backing Up with SQL to the top of the Creating tables… episode? - https://github.com/LibraryCarpentry/lc-sql/issues/135 * (D) Update to the spatial packages lifecycle: migrate to use sf, terra, and stars - https://github.com/datacarpentry/r-raster-vector-geospatial/issues/363 *Key Points * The Curriculum Advisory Committee consultation rubric outlines division of responsibilities between Maintainers and Curriculum Advisors. ----------------------------------------------------------------- *Infrastructure for Lesson Maintenance https://carpentries.github.io/maintainer-onboarding/05-infrastructure.html *Learning Objectives * Understand the structure of the lesson source repository — know which elements generate the various parts of the lesson page. * Navigate to the correct file and element to update each section, including instructor notes, setup, questions, timings, learning objectives, key points, and glossary. * Be familiar with the various callout boxes used in Carpentries lessons and be able to use them appropriately. *The Carpentries Lesson Template This is an exciting time for The Carpentries Lesson Infrastructure! We are in the midst of the official transition to a new infrastructure - The Carpentries Workbench, which is designed to be more user friendly for both contributors and Maintainers. All lessons will transition to using the Workbench in May 2023. This episode will teach you some of the most important elements of the Workbench that you will need to interact with as a Maintainer. Full documentation can be found on Introduction to The Carpentries Workbench. The Carpentries Workbench: https://carpentries.github.io/workbench/ Introduction to The Carpentries Workbench (Documentation): https://carpentries.github.io/sandpaper-docs/ Comparison between old infrastructure (styles) and new infrastructure (workbench): https://carpentries.org/blog/2022/01/live-lesson-infrastructure/ Component page: https://carpentries.github.io/sandpaper-docs/component-guide.html *Lesson homepage "Summary and Setup" is a constructed page from multiple markdown files. In repository, there is a file `index.md` that has prerequisites box; note the no additional instructions for setup, data, etc. The other file is inside `./learners/setup.md`. They are separated to accomodate the learner view vs. instructor view so that the instructor can first see the schedule as well. *Episodes The word "episode" is not unlike a TV show; should take no more than 60 minutes and achieve your teaching goals. Episode headers --- title: "What is the shell?" teaching: 5 exercises: 0 --- *Fenced Divs *::::::::::::::::::::::::::::::::::::::: callout *Some text here. *::::::::::::::::::::::::::::::::::::::: List of fenced div types: https://carpentries.github.io/maintainer-onboarding/instructor/05-infrastructure.html#fenced-divs *Scavenger Hunt (5 minutes) Identify the file and lines of the file that control the following output for your lesson. Add the file name and copy the relevant lines to the Etherpad. * Questions (for episode 1) * https://github.com/LibraryCarpentry/lc-r/blob/main/episodes/01-intro-to-r.Rmd line 23 * https://github.com/datacarpentry/image-processing/edit/main/episodes/01-introduction.md line 14 * lc-python-intro/episodes/getting-started.md, line 17 * episodes/01-rstudio-intro.Rmd lines 35-37 * https://github.com/LibraryCarpentry/lc-computational-thinking/blob/main/episodes/intro.md line 14-20 * lc-wikidata/episodes/01-introduction.md, lines 16-22 * https://github.com/swcarpentry/r-novice-gapminder/blob/main/episodes/01-rstudio-intro.Rmd Line 21 * * https://github.com/swcarpentry/sql-novice-survey/blob/main/episodes/01-select.md?plain=1 Line 15-19 * https://github.com/datacarpentry/cloud-genomics/blob/main/episodes/01-why-cloud-computing.md?plain=1 -> line 15 & 16 * https://github.com/swcarpentry/shell-novice/blob/main/episodes/03-create.md?plain=1 line 178 * https://github.com/datacarpentry/spreadsheets-socialsci/blob/main/episodes/01-format-data.md?plain=1#L15 * Timings (for episode 1) * https://github.com/datacarpentry/image-processing/edit/main/episodes/01-introduction.md line 3 * https://github.com/LibraryCarpentry/lc-computational-thinking/blob/main/episodes/intro.md line 3-4 * lc-python-intro/episodes/getting-started.md, lines 3-4 * lc-wikidata/episodes/01-introduction.md, lines 3-4 * episodes/01-rstudio-intro.Rmd lines 3-4 * https://github.com/swcarpentry/r-novice-gapminder/blob/main/episodes/01-rstudio-intro.Rmd Lines 3-4 * https://github.com/datacarpentry/spreadsheets-socialsci/blob/main/episodes/01-format-data.md?plain=1#L3 * https://github.com/swcarpentry/sql-novice-survey/blob/main/episodes/01-select.md?plain=1 Lines 3 &4 * Learning objectives (for episode 1) * R-ecology-lesson/episodes/introduction-r-rstudio.Rmd - lines 14-22 * https://github.com/datacarpentry/image-processing/edit/main/episodes/01-introduction.md line 7 * episodes/01-rstudio-intro.Rmd lines 23-29 * lc-python-intro/episodes/getting-started.md, line 7 * https://github.com/LibraryCarpentry/lc-computational-thinking/blob/main/episodes/intro.md?plain=1 line 6-11 * https://github.com/swcarpentry/r-novice-gapminder/blob/main/episodes/01-rstudio-intro.Rmd Lines 8-19 * https://github.com/datacarpentry/spreadsheets-socialsci/blob/main/episodes/01-format-data.md?plain=1#L7 * https://github.com/swcarpentry/sql-novice-survey/blob/main/episodes/01-select.md?plain=1 Lines 7-13 * Key points (for episode 1) * R-ecology-lesson/episodes/introduction-r-rstudio.Rmd - lines 212-219 * https://github.com/datacarpentry/image-processing/edit/main/episodes/01-introduction.md line 111 * lc-python-intro/episodes/getting-started.md, line 197 * https://github.com/LibraryCarpentry/lc-computational-thinking/blob/main/episodes/intro.md?plain=1 lines 99-105 * episodes/01-rstudio-intro.Rmd 601-606 * https://github.com/datacarpentry/spreadsheets-socialsci/blob/main/episodes/01-format-data.md?plain=1#L315 * https://github.com/swcarpentry/r-novice-gapminder/blob/main/episodes/01-rstudio-intro.Rmd Lines 718-727 * Instructor notes * https://github.com/LibraryCarpentry/lc-r/blob/main/instructors/instructor-notes.md * https://github.com/datacarpentry/image-processing/blob/main/instructors/instructor-notes.md * episodes/01-rstudio-intro.Rmd lines 47-62 * R-ecology-lesson/instructors/instructor-notes.md * https://github.com/datacarpentry/cloud-genomics/blob/main/instructors/instructor-notes.md * lc-python-intro/episodes/getting-started.md, line 174 * https://github.com/datacarpentry/spreadsheets-socialsci/blob/main/instructors/instructor-notes.md * Setup instructions * https://github.com/LibraryCarpentry/lc-r/blob/main/learners/setup.md * https://github.com/datacarpentry/image-processing/blob/main/learners/setup.md * https://github.com/datacarpentry/cloud-genomics/blob/main/learners/setup.md * lc-python-intro/learners/setup.md * https://github.com/datacarpentry/spreadsheets-socialsci/blob/main/learners/setup.md * Glossary * lc-python-intro/learners/reference.md * https://github.com/datacarpentry/spreadsheets-socialsci/blob/main/learners/reference.md __________________________________________________________________________ *Dial in information Join Zoom Meeting https://carpentries.zoom.us/j/3135836583?pwd=d051cWlZcUxPZHFkS3ZueHJEM1B4dz09 Meeting ID: 313 583 6583 Passcode: 73310 --- instead One tap mobile +16699006833,,3135836583# US (San Jose) +16694449171,,3135836583# US --- Dial by your location • +1 669 900 6833 US (San Jose) • +1 669 444 9171 US • +1 253 215 8782 US (Tacoma) • +1 346 248 7799 US (Houston) • +1 719 359 4580 US • +1 253 205 0468 US • +1 301 715 8592 US (Washington DC) • +1 305 224 1968 US • +1 309 205 3325 US • +1 312 626 6799 US (Chicago) • +1 360 209 5623 US • +1 386 347 5053 US • +1 507 473 4847 US • +1 564 217 2000 US • +1 646 558 8656 US (New York) • +1 646 931 3860 US • +1 689 278 1000 US • +52 556 826 9800 Mexico • +52 558 659 6001 Mexico • +52 558 659 6002 Mexico • +52 554 161 4288 Mexico • +52 554 169 6926 Mexico • +55 11 4680 6788 Brazil • +55 11 4700 9668 Brazil • +55 21 3958 7888 Brazil • +55 11 4632 2236 Brazil • +55 11 4632 2237 Brazil • +64 3 659 0603 New Zealand • +64 4 886 0026 New Zealand • +64 9 884 6780 New Zealand • +44 203 481 5240 United Kingdom • +44 203 901 7895 United Kingdom • +44 208 080 6591 United Kingdom • +44 208 080 6592 United Kingdom • +44 330 088 5830 United Kingdom • +44 131 460 1196 United Kingdom • +44 203 481 5237 United Kingdom • +61 7 3185 3730 Australia • +61 8 6119 3900 Australia • +61 8 7150 1149 Australia • +61 2 8015 6011 Australia • +61 3 7018 2005 Australia • +47 2400 4736 Norway • +47 2400 4735 Norway • +33 1 7095 0103 France • +33 1 7095 0350 France • +33 1 8699 5831 France • +33 1 7037 2246 France • +33 1 7037 9729 France • +27 21 426 8191 South Africa • +27 87 550 3946 South Africa • +27 87 551 7702 South Africa • +27 21 426 8190 South Africa • +31 20 794 6520 Netherlands • +31 20 794 7345 Netherlands • +31 707 006 526 Netherlands • +31 20 241 0288 Netherlands • +31 20 794 0854 Netherlands • +31 20 794 6519 Netherlands • +1 587 328 1099 Canada • +1 647 374 4685 Canada • +1 647 558 0588 Canada • +1 778 907 2071 Canada • +1 780 666 0144 Canada • +1 204 272 7920 Canada • +1 438 809 7799 Canada Meeting ID: 313 583 6583