[
  {
    "path": ".deployment",
    "content": "[config]\nproject = assets/functions"
  },
  {
    "path": ".github/CONTRIBUTING.md",
    "content": "# Contribute to SharePoint Starter Kit  Solution\nBelow instructions explain how you can prepare your environment to contribute to SharePoint Portal Showcase Solution.\n\n## SP Starter Kit repo structure\n\nTBD\n\n## Forking SharePoint Starter Kit repository\n\nThe first step is registering yourself on GitHub. Go to https://github.com/ and click on the \"Sign up for GitHub\" button. Once you're registered ensure you're logged on with your new account and navigate to the Office 365 Developer Patterns and Practices repository at https://github.com/sharepoint/sp-starter-kit. The right top side of the page contains a button called \"Fork\":\n\n![Fork the sp-dev-docs github repository](../images/contribute-fork-docs-repo.png)\n\nClicking on this button will Fork the SharePoint developer documentation repository to your GitHub account. It's actually like taking a copy. Select your personal GitHub account you registered earlier as the account to for this repository.\n\nOnce the forking has been done you'll find the docs repo under your account with an URL: https://github.com/YOUR-USERNAME/YOUR-REPOSITORY\n\n## Clone the forked repository\n\nNow that you have forked the docs repository, to sync this forked repository to your local machine, you will need to clone the repository. You can find the clone URL in the `Clone or download` dropdown in the repo page. \n\n![Clone the forked SharePoint developer docs repository](../images/contribute-docs-clone-options.png)\n\nIf you have any Git Desktop or any git source control installed, you can click the `Open is Desktop`, else follow the steps below:\n\nIn the Clone with HTTPs section, click  to copy the clone URL for the repository.\n\n* Open your favorite console terminal.\n\n* Change the current working directory to the location where you want to clone the docs repository.\n\n* Type the following command to clone the repository:\n\n```\ngit clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY\n```\n\nPress Enter and your local clone will be created.\n\n```\ngit clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY\nCloning into 'sp-dev-docs'...\nremote: Counting objects: 10, done.\nremote: Compressing objects: 100% (8/8), done.\nremove: Total 10 (delta 1), reused 10 (delta 1)\nUnpacking objects: 100% (10/10), done.\n```\n\n## Switch to `master` branch\n\nIn order to add your changes, you will need to do those in the `master` branch.\n\nType the following command in the console to switch to `master` branch:\n\n```\ngit checkout master\n```\n\nNow, you can update existing docs or add new docs to the docs repo.\n\n### Adding new docs\n\nMake sure you upload your doc in the right folders. For instance, web part docs should be in the following folder:\n\n```\ndocs\\spfx\\web-parts\n```\nDepending on the doc's intent, you can choose to add your doc into  `basics` or `get-started` folder.\n\n## Submit a pull request\n\nOnce you have completed adding your changes, you can submit a pull request. \n\nNavigate to the forked sp-dev-docs repo in your account. Make sure your current branch is `master` branch.\n\nOnce you are in the `master` branch, you should see a message to `Compare & pull request`\n\n![Submit a pull request to sp-dev-docs repo](../images/contribute-docs-submit-pr.png)\n\nThis will start a new pull request. Make sure you use the following [template]() to fill in your changes. Make sure you are creating this pull request against the `master` branch.\n\nOnce you have all the information, click the `Create pull request` to submit your pull request.\n\n## Syncing your forked repository to keep it up-to-date with the upstream repository\n\nIn order to keep your forked sp-dev-docs repo up-to-date with the parent repository, you will need to first [configure a remote that points to upstream repository](https://help.github.com/articles/configuring-a-remote-for-a-fork).\n\nOnce you have configured the upstream repository, follow the steps [here](https://help.github.com/articles/configuring-a-remote-for-a-fork) to sync your fork to keep it up-to-date with the upstream repository.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/---bug.md",
    "content": "---\nname: \"\\U0001F41E Bug\"\nabout: Report an anomaly or unexpected behavior from this repository.\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n> Please note that issues that do not follow this template will automatically be rejected.\n>\n> Use the following form to submit an issue only if it's related to samples in this repo. If you have an issue related to the SharePoint Framework or its documentation, please submit the issue at [https://github.com/SharePoint/sp-dev-docs/issues/new](https://github.com/SharePoint/sp-dev-docs/issues/new). This will help us respond to your issue faster.\n> \n> ----\n> \n> Thank you for reporting an issue. We appreciate your feedback - to help the team to understand your needs, please complete the below template to ensure we have the necessary details to assist you.\n> \n> _(DELETE THIS PARAGRAPH AFTER READING)_\n\n## Category\n\n- [x] Bug\n\n## Describe the bug\n\n#### Expected or Desired Behavior\n\n> When reporting a bug, please describe the behavior you expected to occur when performing the action.\n>\n> _(DELETE THIS PARAGRAPH AFTER READING)_\n>\n\n#### Observed Behavior\n\n>When reporting a bug, please describe the behavior you are observing when performing the action.\n>\n> _(DELETE THIS PARAGRAPH AFTER READING)_\n>\n\n#### Steps to Reproduce\n\n> When reporting a bug please describe the steps to reproduce the bug in sufficient detail to allow testing. Only way to fix things properly, is to have sufficient details to reproduce it. If you are making a suggestion, you can delete this section.\n>\n> _(DELETE THIS PARAGRAPH AFTER READING)_\n>\n\n## Environment Details (*Development & Target environment*)\n\n> **DELETE THIS LINE BEFORE SUBMITTING** - Complete the following (*if ignored you'll be prompted for it before we can address your issue... save the time and provide it in your initial submission*).\n- **Starter kit version**: [e.g. v2 for current version, v1 for legacy solution]\n- **OS**: [e.g. Windows 10 | MacOS 10.15.x]\n- **Target Environment**:[SharePoint Server 2019 | SharePoint Online]\n- **Framework**: [Node.js v6/v8/v10/v12]\n- **PnPPowerShell Version** : [e.g 3.22.2006.2.]\n- **Browser(s)**: [e.g. Chrome v79 | Safari v22 | FireFox v31 | IE v11 | Edge | Chromium Edge v79]\n- **Additional details**: *The more context you can provide, the easier it is (and therefore quicker) to help.*\n\n## Guidelines for issue creator (DELETE AFTER READING)\n\n> - All bug reports are welcome, please let us know what's on your mind.\n> - Remember that this repository is maintained by community members who volunteer their time to help. Be courteous and patient.\n> - If you have technical questions about the framework, we’ll be monitoring #spfx, #spfx-webparts, and #spfx-tooling on (SharePoint StackExchange)> [http://sharepoint.stackexchange.com/]. You can also alternatively submit your question to (SharePoint Developer group)> [https://techcommunity.microsoft.com/t5/sharepoint-developer/bd-p/SharePointDev] in the Microsoft Tech Community.\n> - Remember to include sufficient details and context.\n> - If you have multiple suggestions or bugs please submit them in separate bugs so we can track resolution.\n> _(DELETE THIS SECTION AFTER READING)_\n\nThanks for your contribution! Sharing is caring.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/---enhancement.md",
    "content": "---\nname: \"\\U0001F4A1 Enhancement\"\nabout: Suggest an enhancement to this repository\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n## Category\n\n- [x] Feature request\n\n\n## Is your feature request related to a problem?\n> **DELETE THIS LINE BEFORE SUBMITTING** - Provide clear & concise description of what the problem is.\n\n## Describe the solution you'd like\n> **DELETE THIS LINE BEFORE SUBMITTING** - Provide a clear and concise description of what you want to happen.\n\n## Describe alternatives you've considered\n> **DELETE THIS LINE BEFORE SUBMITTING** - Provide a clear and concise description of any alternative solutions or features you've considered.\n\n## Additional context\n> **DELETE THIS LINE BEFORE SUBMITTING** - Provide any other context or screenshots about the feature request here.\n\n*Thanks for your contribution! Sharing is caring.*\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/--question.md",
    "content": "---\nname: \"❓ Question\"\nabout: Ask a question regarding the PnP Starter Kit\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n> Please note that issues that do not follow this template will automatically be rejected.\n>\n> Use the following form to submit ask a question related to this repo. If you have an issue related to the SharePoint Framework or its documentation, please submit the issue at [https://github.com/SharePoint/sp-dev-docs/issues/new](https://github.com/SharePoint/sp-dev-docs/issues/new). This will help us respond to your issue faster.\n> \n> ----\n> \n> Thank you for asking a question. We appreciate your feedback - to help the team to understand your needs, please complete the below template to ensure we have the necessary details to assist you.\n> \n> _(DELETE THIS PARAGRAPH AFTER READING)_\n## Category\n\n- [x] Question\n\n## Question\n\n> _Provide as many details as possible to help the community answer your question._\n> \n> _(DELETE THIS PARAGRAPH AFTER READING)_\n\n## Guidelines for issue creator (DELETE AFTER READING)\n\n> - All questions are welcome, please let us know what's on your mind.\n> - Remember that this repository is maintained by community members who volunteer their time to help. Be courteous and patient.\n> - If you have technical questions about the framework, we’ll be monitoring #spfx, #spfx-webparts, and #spfx-tooling on (SharePoint StackExchange)> [http://sharepoint.stackexchange.com/]. You can also alternatively submit your question to (SharePoint Developer group)> [https://techcommunity.microsoft.com/t5/sharepoint-developer/bd-p/SharePointDev] in the Microsoft Tech Community.\n> - Remember to include sufficient details and context.\n> - If you have multiple suggestions or bugs please submit them in separate bugs so we can track resolution.\n> _(DELETE THIS SECTION AFTER READING)_\n\nThanks for your contribution! Sharing is caring.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "content": "> Thank you for reporting an issue or suggesting an enhancement. We appreciate your feedback - to help the team to understand your needs, please complete the below template to ensure we have the necessary details to assist you.\n>\n> _(DELETE THIS PARAGRAPH AFTER READING)_\n>\n\n#### Category\n- [ ] Question\n- [ ] Bug\n- [ ] Enhancement\n\n> For the above list, an empty checkbox is [ ] as in <kbd>[</kbd><kbd>SPACE</kbd><kbd>]</kbd>. A checked checkbox is [x] with no space between the brackets. Use the `PREVIEW` tab at the top right to preview the rendering before submitting your issue.\n>\n> _(DELETE THIS PARAGRAPH AFTER READING)_\n>\n\n#### Expected or Desired Behavior\n\n> If you are reporting a bug, please describe the expected behavior. If you are suggesting an enhancement please describe thoroughly the enhancement, how it can be achieved, and expected benefit.\n>\n> _(DELETE THIS PARAGRAPH AFTER READING)_\n>\n\n#### Observed Behavior\n\n> If you are reporting a bug, please describe the behavior you expected to occur when performing the action. If you are making a suggestion, you can delete this section.\n>\n> _(DELETE THIS PARAGRAPH AFTER READING)_\n>\n\n#### Steps to Reproduce\n\n> If you are reporting a bug please describe the steps to reproduce the bug in sufficient detail to allow testing. Only way to fix things properly, is to have sufficient details to reproduce it. If you are making a suggestion, you can delete this section.\n>\n> _(DELETE THIS PARAGRAPH AFTER READING)_\n>\n\n#### Submission Guidelines\n\n> - All suggestions or bugs are welcome, please let us know what's on your mind.\n> - If you are reporting an issue on generic SharePoint topic or dev documentation, please use the (sp-dev-docs Issue list)[http://aka.ms/spdev-issues]\n> - If you have technical questions about the framework, we’ll be monitoring #spfx, #spfx-webparts, and > #spfx-tooling on (SharePoint StackExchange)[http://sharepoint.stackexchange.com/]. You can also > alternatively submit your question to (SharePoint Developer group)> [https://network.office.com/t5/SharePoint-Developer/bd-p/SharePointDev] at Office Network.\n> - Remember to include sufficient details and context.\n> - If you have multiple suggestions or bugs please submit them in separate bugs so we can track resolution.\n>\n> _(DELETE THIS PARAGRAPH AFTER READING)_\n>\n\nThanks for your contribution! Sharing is caring.\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "content": "#### Category\n- [ ] Bug Fix\n- [ ] New Feature\n- Related issues: fixes #X, partially #Y, mentioned in #Z\n\n> For the above list, an empty checkbox is [ ] as in <kbd>[</kbd><kbd>SPACE</kbd><kbd>]</kbd>. A checked checkbox is [x] with no space between the brackets. Use the `PREVIEW` tab at the top right to preview the rendering before submitting your issue.\n> \n> _(DELETE THIS PARAGRAPH AFTER READING)_\n\n#### What's in this Pull Request?\n\n> Please describe the changes in this PR. Sample description or details around bugs which are being fixed.\n> \n> _(DELETE THIS PARAGRAPH AFTER READING)_\n\n#### Guidance\n\n> *Please update this PR information accordingly. We'll use this as part of our release notes in monthly communications.*\n> \n> *Please target your PR to 'dev' branch and it will be merged to `master` by the people in the core team together with the other possible changes.*\n> \n> _(DELETE THIS PARAGRAPH AFTER READING)_"
  },
  {
    "path": ".gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (http://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Typescript v1 declaration files\ntypings/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variables file\n.env\n\n.DS_Store\n\n# Visual Studio Ignore files\n\n# Exclude NuGets, obj, debug of sample-lob-service\nsample-lob-service/SharePointPnP.LobScenario/packages\nsample-lob-service/SharePointPnP.LobScenario/SharePointPnP.LobScenario.Data/obj\nsample-lob-service/SharePointPnP.LobScenario/SharePointPnP.LobScenario.Data/bin\nsample-lob-service/SharePointPnP.LobScenario/SharePointPnP.LobScenario.Web/obj\nsample-lob-service/SharePointPnP.LobScenario/SharePointPnP.LobScenario.Web/bin\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015/2017 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# Visual Studio 2017 auto generated files\nGenerated\\ Files/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Files built by Visual Studio\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.iobj\n*.pch\n*.pdb\n*.ipdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# Visual Studio Trace Files\n*.e2e\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# Note: Comment the next line if you want to checkin your web deploy settings,\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/[Pp]ackages/*\n# except build/, which is used as an MSBuild target.\n!**/[Pp]ackages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/[Pp]ackages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\npackage-lock.json\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# MSBuild Binary and Structured Log\n*.binlog\n*.yaml\npackage-lock.json\npackage-lock.json\n"
  },
  {
    "path": ".tours/spo-solution-overview.tour",
    "content": "{\n  \"title\": \"Solution Overview\",\n  \"steps\": [\n    {\n      \"directory\": \".\",\n      \"description\": \"# Welcome to the SharePoint Starter Kit Solution Overview\\r\\n\\r\\n![Parker](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAACDCAYAAAB7o75uAAAACXBIWXMAAAXYAAAF2AEJGiq9AAAAB3RJTUUH5AYaAR4ngWxR7AAAIABJREFUeJzUnXd0VVX69z/73H5vOklIgVQg9N47KIhYALuMXeyOXceZsY1dERVFEERFBbEBAhZQkd47ofeSQkhC2u3n3r3fP24ICWngODO/97vWzVo5Z5/dnrP3fvoR/H8EKWVLoCvQE+gItBVCJJ25r5QKAMeArZW/lcA2TdMq/gfd/f8XUsrBUsrVSqm7zr2nlOokpXxZSrldShlUFwgp5Skp5Uwp5aX/i7H9fwkp5YRqE7hYStlOStlfSvm9lDJwoURogDjrpJTX/a/H+38eUsofz5k477858Y3dXyWlHPy/Hvf/SSilNCnlTqWU8vv9yufz/Tu0UAUn81VxUeH5Eu4DpVTk/3oOqkP7X3cAEEBTAJ/Px84d2/+tyg4d2H/+DQtxv1JqtZSy77/V6J+I/zlBlFKPANEAYWFh+P06BSfz/1Bduq6Tn59PZGTU+bQLgBCiHbBESnnfH2r0T8b/jCBKKYOU8gMhxFtCCMOZ62kZGezaufMP1VmQn09ZaSkGo7HBcocPHsDv81X9L4SwCiEmSynf/kMN/4n4nxBEKRWhlJovhLj/3HsJCQk4nS5KTp++4Hr37tmNyWxusExR4SmOHD6ExWqtdU8I8aiUcrZSynLBjf9J+K8TRCnVVCn1sxDisvrKpGdksGXLlguue2f2DmKaNGmwzO+//UKz5in13hdC3KCUmvu/Isp/lSBSykSl1GIhRIOHaFbr1hw7dgy/339B9R86eICwsPB67+fmnGDf3r20bNW6wXqEECOVUnP+F0T5rxFEShkL/CyE6HTmmq7r+Krt5WdgNpuJjolh29ZtDda5c8c2pAwC4Ha5yM3JoUlsbL3lv5o1k5atstAMdQ9739497NgWWplCiMuUUt8qpf6rL+1/pTGllAP4vjoxKq+zZ2d2nc9069aNzVs2N1jv5o0bOXH8OBA6G4pPF9Gkni0rNzeHlcuXctGwS2q0fwa/LPqJL2Z8Qmp6ZtU1IcQVSqkZDXbiT0bD7MifAKWUUEp9KYTod+49s9lMRUUF+Xm5JCYl17iXkpKCx+0hJyeHZs2a1arX5/VyYP8+Nm3aQLfuPTh86BBer48tmzYxYNBgwiMiapT/8P33SE1LJy4+HoBjRw4TFh5Bk9hYvpr1BZ9O/4iPP59JZGRNOVEIcbOUMl/TtL/925PxfwFSykkNScsH9u1T8777ps57P//0s5oxY0aNazu2bVUT3nhNXXXFSNWne2fVuW0r1T4rU3Vul6X6dO+sundqpy4bPlQ98/STauWypUoppQ4dPKDatUxXi38KaWjcbrf6aubnSimlvvj0Y9WieaJa9vtvjUn1d/435us/ukKklH8VQjzQUJn0zAzmfvs1ZWWltQS6vn37MOHtt/F4PKxdvYpvvvqSLZs24nK7MJvNGI0mNIMBkxAITeD3+xBCIz8/n2Pz5vDDgvn06t2H8ooKYmJi6Nm7DwA/zJ9HfNMEFsybwz+efop77nuAQUMuamw4k6WUezRNW/PvzElj+I8RpFJ5905j5QwGIzFNmvDjgvmMvfnWGvciIiOx2+1ce9UY8nOO4fF60TQNo8GI3e4gKiqKyMgozBYLgUAA3e+jtKSU0yWnQYHQBOvXr8XlcnHV1dcQFR1NSclpli/9nc5du/LOW+Np36EjDz/2RI12/X4/xUVFJCZVmVoQQpiVUrOVUj2FEAV/yiTVgf8IQSpljS+qS+DVcezIEZqnpqJpIZ6i/6DBvPjcP7n6uhuwWM5yml/N/JyF8+ZwqrgEuxGSk5Pp0bM3PXr2omVWFvFNm2Kz2QlKydGjR8lIT8flrOD4sWNs27qZpUuWsH/fXswmM337DQTgyy8+Z9fOHezevQspJY89+RRh4TVZ5SOHD+NwOGr1WwiRopT6FBj5Z83VfwXnqtPPxa4d29XWzZtqXLtm1GXqq1lfKKWUCgYCavxrr6g2LVJVm8xU1bZNW/XuhPEqNzenqnxQSuXz+5XX61Vuj0etXbdeef1+pQfOmk+8Xq+aMmmi6tW1ozp1qkCVlZaqoQP6qK4d2qj2WZnq4QfurdU3t9ullvz6S4MqfCnl0/+pufvT2V4p5WNCiAbfoBatsli3ZjVul6vqWv+Bg5k+9UOKi4p49cUX+GDSe5jNFu65736uvvZaUjOzSEpKxuV24XK78Xg86LpOIBgEpSguKsLjdqPrOm6PB7fHg8VioX2HjrTOak1cXDzTp07h+PFjWCwWLBYzd91TS3PDpg0bSUlJQwjR0BBelFL2rOuGUkpTSjX4cEP4UwkipewAvNpYObPFQmxcHN9+/WXVtYsuHsbp08XcdcctzJr1Belpabw2fgIPP/4Uo0eP5scffwxJ7goq/1TBaDJSXl6Os6Kiahs8g9OnT9On/wDKykpxu120apWFx+NGKVi5YhllpaX4/SHhtLioiIKCAlq0atlg/4UQJuBjKeW9Usp3pZTfSCmXSCnXKqV2KKW2VxrBXj6viftPQIUMTRsa2qqqo6TktBp7zRiVmxPahvx+n7pm1GUqo1mCGjXyErVn9y6llFIut0u53W510823qfXrN6hAQFcVFRWqwulUTpdLOV0uFZRBNeXDqWrf/gPK7/crl9utXG63CiqlVi5fqnZs26p+XfSTysvNVbt37VRD+vVSXdpnqW4d2qhLhg5UG9auUUopNfvLWerQoYPnO4RGIaVccaHz+GeukCeFED3Ot3BUVDRt2rVj4oTxAJhMZjp07EzzlBQmfjCF1m3aUlFRTjAYxGaz0bFjexYtXozBUMmHKFUlaWtCw+fzcfJkPkajESqvB3SdtPRMwiMisFqtNE1IoE3bdrzyxngsFit6IIDb7aZzt24cPHAAv89PRkZmnf1tDMFgkF3Z2WzeuKH6VjzpQuv5UwgipWyllHr+Qp8be/OtLF/2O5s2rAega/cetGjZiuapaVQ4nYAABYGAzpAhg9m8ZStlZWUYDJXMm1Kc2b4MmoHTp0vO7v1Koes6CUlJWCwW2nboSDAYpKioiD79BvDMCy+iCUFZWSkzP5vBb0uWMHzEiD80/s2bNrFg/vcgoEOnztgdDpRSh4QQ8y+0rj9rhbwrhLBd6EMZmS1oEhvHm6+9AkCv3n2wWiyUnC7GZDZB5eT6fH7at2+H0Whkzdp12GwhW4amaVittqqROCvfTLPFUnWWCKBJbByRUdGcOHGCvNw8pJRcdvmV3PvAg8hAkFdeeZmoqCgSEhIuqP9Hjx5l2tSp5ObmMvySEbRr3wHzWXvMe0KI2prTRvBvE0RKeZUQ4g/5PH339Wzy8nLZtXMHMz/7lLj4eNIzMjh58iQ7s3ditphRoTawWqz07tWTH3/8CRCEhYUBkL1jBz/8+BObNm5mxYqVLF+xkqNHj2E0GnHY7RgMBqSUBAIBsrN3ktwsGV3X8ft17rn/Qa4YfRVlFW42rll1QX3/5puv+frrrxgydChXjhpVQ25RSh0DPvkjc/JvCYZKKZtS6o3q13Q9ZBO32x0NGosK8vN5/dWXueHGv9Czd2/eePVlLh5+Cd169MRsNrNtRzYul4uBAwdQUV5BIKAzbNjFPPnU0xw4cIBNm7fw3Zy57N23H6fLhcVsQQj4bcnvxERH0zori1GjruCKy0ZitdnYvWcPSimaNGmCx+MhtNWZSErLJD2lOQvnz+OiYcMZecWVDY65oKCAiRMnkpGRwRNPPHl2+6wGIcTzQgjnH5nTP8wvA0gpnxZCvFb9WjAYpPDUKXJzcygtKcHucJDZoiXxlVrWM3j8oQfYsnkTX3+/kPi4eH5d/DPbt27hmutuxOlyEhsfz9N/f4aXXnyB+Lg4DAYNKRXXXH8jubm5lJSUAgKrzYqhGqurlCIYDOLxekEp2rRuzd133YnT6aRfv76kpqTg8/mw2+0sW7GCxYt/4bJLLub+u8eRkJDInIU/Eh5eU1N8BitXrmT69OnccsstXHRR3bovpdRSIcTQRuSYelGnauN8IKVMAL489+zQNI2w8HCSkpJJTErC5XKydetWtm3dSjAYJCExkU3r1/Hqyy/y3Euv0LlbN8rLymjdph1KKiwWM0nJzYmNjeXAwYN88+23XH3VVZSUlPLCv15i46bNeDw+rFYrZrMZ7ZyBCyHQNA2L2YzZbKag4BQ//byIY8eOM2LEcOLj4gDweDy8+trrjL3xenr37Yvu15k351scdge9+9ayFDBjxgxmz57Niy++SLdu3eqcE6WUHxitaVrhH53XP7xCpJQThRAPnW/548ePs3rVKsrKK/h+zte0bNGC96dMo6y8HKkkGgKTyYRSCpPJRCCgU+F0ct31f6Fz507k5OayYcNGIiMjG5Oia0EphdfrJSY6muefe4bLRl7KhAlv43K7efyxR3G6XYDisQfuZ/vWrSxc/Cvp1djfl195hd279/D+exPrNYBVthMAxmia9sMFdbAa/tChLqVMA2o5RjeElJQUbhw7FpMBdu3egz2yCVu2biMsPAyj0YiqZFMDgUDlL0jT+KZ06dKZz7+YxY4d2URHR18wMSC0aux2OyWlpTzx1NM8+/y/OHDwELffdgtOl5OArmO12njw0ccIBoO89/aEqmcff+JJsndk8/H0jxokRmU7RuBNpZTpgjtZiT/KZT3zR9hct8vFVzM/59677+KWW25m1sxZvDX+bXw+H47wsKpyuq4TERHBr7/+xqrVa0hIaIrVaq1hcr1QKKWw2WwITWPyh1OJiAinaXw8SiqEELicTjp06swdd9/Dwvnz2LR+Hc89/wLHjx3js89mYLOd33CFEG2UUjf90X5e8OtWGaOxUwjRsANUHZg2+QOmT5vCN/N/IDUlBbfHw2effcGatet48IH76N2rF2VlZURGRrB69Vruf/Ah3B4PNpvt3yLGuQgGA/h8Pu4Zdyf3338vfl3H6/ViNBrRdZ2nHv4rG7dn06NXH6ZP/RCb3X5B9Suljggh2gkhPBfatz+yQh75I8Q4XVzMJ9OncvPtd9A8NZXS0lICgSD333cv99w9jldfe4MvvphFZGQk2dk7eeSxJ3C63I0Sw6/rOJ1OKioqqKhw4nK7CQQC9ZZXhFaEyWRi0pQPmTrtI4oKQ2dwMBgkNjaWxLRMjufkcfMN110wMQCEEOlKqdsu+EEucIVIKVOA3UKI2tabRjBxwni++/Zrvp3/A2FhYQR0HVXZfERkOEePHuMff3+WLl06s279erbvyCY8PLxOYiilcLncBINBUlOa06lTB+Ji4/D6fJzIyWHv3r0UFRVjs9mqGIWzz8qq/6WUeDweMjIy+PTjaSQmJjB9+ifM+HwWzZvGYEAxe873dcoajUEpdVAI0VYIoV/IcxcqGN7/R4hxMj+fmZ/P4P6HHiYuPp6KsrIa98vKyslIz2D8G68y8orRuL3eOomhlMLpdBITE8OQQQOJiYnh2muvJikpCSkVUgbRdZ3jJ07w88+LmL/gB5xOJ/Zqb3n1OjVNw2KxkJeXR3FxMYcOH+a1N8bz9oTxtGnVkuvHjGLh93MZffW1FzpkhBAtlFI3Ap9f0HPnW1ApFaWUOiCEqN8TrR688epL/LLoZ76etwCLxUIwEKhaHYgQFxQZHsFbb7/D1GnTsVqttbgpKRVWq4Ue3buxdOlyPpwyiYED+lNUXIzX60MqhZLBkPxtNGGxmNm+fQcT3n6Xvfv3Y7NaK7k5Wat/Pp+fNm2yKDhZwMCBA/jXC88B8OJzz7Bl00Z+XPw7ZssF79IopXYIIboIIWo3Wg/O+wxRSt30R4hxuriYed99y8233U5MTAzBc/Z3pRQRERH89PMiPvxwGmazuU7WVtf9OBwO3njtFa677ho+/uRTyssr0HW9Vn0+n4/S0jLatm3Da6+9RL/evUlKSgQUStaeG6vVwrZt27HabDzx2CO43W68Xi+33H4HRYVFLPh+zoUOGwAhREelVL0+zHXhvAiilDIAte2d54FZn8/AYrEw8rIr8LjdofqqrQ6b3cbxY8d49bU3EJpW737t9/vp3asHZouFRx95iKSkRPbt24fJVD/LX1FRQWREBK+9+hID+/ejrKwcYx3llVI4HA5KTp9mR/ZOwsPDQ7aUjEzGXH0NMz6eTjAY/CPDB3j0QgqfL0GGCyHaXGhPKsrL+OrLmVw/9iZi45vir3aQI0JuOkbNwIQJ73L8RE6Nvf4MhBCUlZXRv38//vn3v+NyuZBS8dBfHyQhKRHNaCI8MoqwiEjCI6NwhEdUxYcIIQgGJeVlZfz48yI6d+pIVlarOv2JDQYDTpeLCe+8S3Z2NoFgEIOmcff9D1BaWsoP8+dd6PDP9GGIlLJuXUsdON9D/e4/0pl5c74jEAxw+agxuD0eQlQI3VNKERUeybx537Pwx5+IjIyok6Py+/1EhIdz7z13YbFa8JZ50TQDdruD04UFHDx6iGU/zMVZXg4GA1kdu9Bz0DDCIqNxlpdit9n46adF+P1+Hn/sET7+dAa6rtdwNzoDh8PB4cNHGHf3fURFRpKensaoUaMYecWVvPnqKxw9coRevfvQrmPHehWQ9eB+4Lw8HxslSKWa5JLGyp2LnBMn+OjDyYy66hqapTSnrKysBgthtVo5mXeS9yZNxmg01XluKKXweDy88Nwz9O3dm+LTJVisNnZtXo/BoLFy0QK++3gKPo8foYE/CIpPyWzTmtsf/Qd9Lr6UirJSli1fzj13j6N582Z0aNeOFStWopSq1aZSCqPRiN/vZ9CgARQVFTP+rQnoup/CwtMsXDAfg6axcvkyoqKjSU1PJzm5GU0TEzGbzBhNRmw2e11juUZK+U9N0042Nm/ns0JuuhA1ia7rzJ87h6lTJuH1ehlz9bX4fDXjPAyaAbvVxviPJ3Dw0GGio6I515NECEFpaRlXjbmS22+7FQVExTTBpEHxqXy+nDSeG+55BKNRw9YkAqFp6EFFUCmOH9zHK4/exXV33k/L7gMYMGgwl40cyenTJQwZOoTtO3awavUawsPDOHdRappGhdOJphmYPOl9jh47xqbNm/nyy9ls3rwZzWrniUceJS8nl7y8XE4VnKS8ohy73U5ERCQpqWm1zkEhRIRS6i/ABBpBg2yvUsqolMoWQjQc4UJoa9m4bi3ZO7YTGRXF+xPfoU/ffrzx9kRcLleV44EQArPZxLJlK3jib38nGJQYjbUPco/HQ7NmycyfNxdNBfn2y1kcP7AHh9XAtrUr2J+9nTG33MWWNcsoPnUSg9GILhVSKpQCn8+LyWyhz0Uj8ekSS1Qs/QcMpHWnLhw9cpjnnv8XpaWl1U2uVQgGgwgh+GjqZDp16ozFYubQwYPccestHD6ey9ChQ5n03ns0iW1Y2XjOXO4UQnRqjAVukCBSysFCiKUNNEJ5WRlHjxwm58Rx7HYHXXv0oLS0lDGXj2DCu5MYOHgITudZ41lEeDjfzZnLU39/BoslZLM49+yQUuL1eJk+fRqRms6428ex49ARmhsgJhxsDis2u51AQMdcaSkE0CUElUJJhax0jvA4K3B64IgHwmxWHn/4Qa697U5++ulnJn3wITZbbZkHQsLqqCsv5/VXX8HpchEeEc7Lzz3D3t27yerQhU2bNvPmm6/XaxupZ76GappW73xC41zW2IZuSikpOX2aJrGxjBh5OUMuHkZkZBTTJk+iWbPmdO/ZC7f7rH5N0wRC09ixcydSBmupNSC0gsorKrjuumvo2bUjT919M4XHjtCruYNmiRYiYyIxW8zoPi8WS8haaDAYKn9a6H+jgWDADyqIIzKKyAgT3ZMdhCkfU996i63rVjFs+HB69eqBu5IVPxdhYQ6WLV/Brt17sFmtBAIBLr38Snw+H6++8hL//Oc/eOzxJ1i+fHkjU1gDtzdWoF6CSCnDgSsaethgMJCWkUGz5ilVrGZxUSG/LPqZK8dcTXh4eFXIGUB4eASffz6Tb76dU+WkcC58Ph9JCQk89NcHKTldzFU3j6Nn1xYEvG6GXHk942cv4p+TZtJv2EgCfg9Go4bBoGGs9gv4vGRmteXJNyYz8aufufWhvxGUQZKirfTp2xUpQzqtq68aE5I56lBGGgwGysrKmL9gASaTCa/HQ8cuXYiKjmb6tKkMHTqEDya9x5vj32LdurWNzTNQFZHV4D5XL0Eq7cIX5BezZtVK7r7jNswWCxcPvwSv31e1HURERvDbb0v4bckSYqKj69Xgut0ext1xO4kJTYlNaMa14+7HWVZOp179ufWJF5n80Wd88MlXtL/oOjp070VA92EwiMqfhlKS+IRERtx0Hwt+W88LL73BwCtu4PLrbqKk2EO3/oNp27UnZSWlpGekc/FFQ/F6vXX2xWa3s2TJUk6cOIHJZMJoNHLF6NH8tHABwWCQ9u078M7bE3j77Xc5dPjQ+UxRlFKqQS+KegmilLr6fFoA8LjdvPbSC0x+/12OHD5E/4GDSElNDQXnC3CEOdi1axerVq2ma9cuFBUX1ymRu91uOnZozw03XHc2AlcIpApw5dg7+Gj6p3wy/UPatm7FxA+mktWlDwahqlaGwSAI6j669B3A7Dk/4HVVkJefz9133cewK6/BZBZIpRCaFlKxeL0MG34xiYmJtVQwAGaTibz8fJYtX47NZsPjdjNgcIiAa1auBKBVq1Y8+eQTvPH6m7ic5+VocmNDN+skSOV2Nfx8as/esZ2/3nc3UdExPPbk0wghGHrxMBChqo1GI6WlpSxc+CM3jr2eVWvWImXdqyMQDHL3XXcSHh6O369jtZjJXr8KZ2kFsUnJVQ4Nb7/zDi6XC02oaqsjtEIMRg0VDBIeFsbXX89k65YtWCwWopvE4ggzsXf7FvxeD5rBgK7rxMXGcdHQIXVK7wAmk5HFv/6Gzxda7TExTejVty9zvv2qqkyPHj249NIRfDB58vlM2YBK2a5O1LdCBgshmjZW84J5c/jw/Ync+8Bfue/Bh/j1l5+JiIykR8/eeD0ehNAQQmPhwh8YM2YUp04Vsnnz1irPw+pwuVx069KFEZcMx+/3YzKbcDqdfPHeGwQCOru2b+WxJx7j7nv/yoCBA3nq4XvZu2k5JrM5RAiDhtEgsDsc7NiwghGDe3H9TbczavRoPv3sU44dPgiaxs7Na9myehk2uwMQeLwe+vfvR3JSUp2rxGazsX17NpM+mIzFYiYYDDBi5GXs2L6NwlOnqsqNGTMGk8nEysqVUx+EEFZgdH336yPI5Q3WCnw87UN27tjB6xPepXvPXnjcbn7+8QeGXnRxlVbXarGwccNG0tMzaJ3Vmq+++hYpg3VKyH6/zi03/yWkng8GsZjNLJw5nT3bNxHdJJofPp/Ctx++ye3XXsqjt11F9i9fcHD3DjQBUvchA35kwA9K4iwv5dfZHzBqYEeeuP9WNvw6lylvvIDVakPTNH77/mu8HjeaphEMBGjSJIYBA/rVmagg5FYkWLlyNXPnfo9Ukjbt2hPTJJaff1xYo+y4ceNYuXIlFRWNZhS8qr4btRhwKaUZ2CuESK/rAb/fz8fTphAVGcWN1WICly9dwr3j7uCTL2bRs09ffF4vpwpOceL4CfoP6M/hQ4e4buxNuN2ekId6NThdLkZfeQXj33g95BKkGXCWl3LL0C6Ul54OuWmqILrPgwzqKKkTl5BM88wswiKjKrcyhU8P4vb6cDvLKTyZS2FeLmhGJBpGkxVhCNnMXRVO7vnHK3QdMBRXRTlGo5GiwiJeevlVXB4PxnPON4/HQ69ePblmzBikkowaNYqPpnzAgu/n8sPiJTU0zuvXrePEiRNcc239Rq1K/622mqbV4gTqWiFd6yOG1+vlk2lTaN26bQ1iAPz4w0LS0tJo174jPq83pBcyGenQqQNCCJatWElhYXEtYkCI1e3VswdGowEpQ4f0rA/eouhkPhZLaHvTdT+aptG+Rz/ufPpNRt/+EOmt22My2ygvq6DwVDFFp4rwun3YHDF07DOc4WPvJa11B8xmExASkIWmoYDlP36P7tcRQkPXdRITE+jcpRO+Ojgus9nMzp27aJXVktjYWLKzsxlx2eXk5uTw1uuv1rCx9OrdG6/Xy8mT9autKn0S6nS1r4sgdR7muq7z7Vez6Nm7L0MuHlbjXkV5OatXrmDAoMFEREQggxIpJdHR0ZjNZvy6n2XLV9TJWXm9Xlq3asXgQYOQUmExm1ixaCHfffIBZqsVUFSUlZDWojVPjJ/OazMXExvXhF++msyKhbPZunIRR3Zv5fiBXeQc3MPhnVvYsWYZy+fNRiiNsU+8zoi/PEBsYjN8HicohcVqJe/EUY4f3IvJEjKISano07s3FoulFktuMBgoLS1l46bN9OvXF00I4uLi+ezLr4lpElPjLAEYMHAgWxtPnlOnjFeLIEKIIedeCwaD/PzDAjp37U7X7rVjcjZtWE9R4Sn6Dxx8NjEYAiUVZpOZQ4cOk529s87D3Ovz8chDfyUhoWkotFkPkNAsheTUTAIBHVd5OZfdcBvjv1zExaOuY/ua35k18TkEEqvNgcXmwGSxYjJbQj+LFYvNhtFo4OeZH7Fn4xo6DRjO1Q88Q+d+F+P3evD7vCQ2aw4oAoEASik0IWjVqiXp6em1OC4FGIxGFi3+hZKSEpKbNcPpcmE2W7j9zruJPyeMITU1FZvV0liKqb5KqVqMUw2CqFA4cy3lzKb1a2nVKosOHTudewuAJb/+QmJSMu06dMR3zsFoNBrZuHETp0tLa60Qt9vNoAH9GdC/H0ePHg3FoJuMRDWJo7jwJB6nl+vuepC/jZ+KxRZGIKj49INJfL4qh4MnyjEY6lbFaQLyS/2sznWzYO48ZMCH0Wzm4hvG0Xv4aIK6TlnJaeKTU7CaLXw/fyGzZs8mLCyMPr171bAOnlkrdrudNevW8+xzLxAIBDBbLOTl5fLAPXdRUV5eqw9t27Xn6NGjdfYPQAgRrpQaVKvv1f9RoaD48Gr/c+jgfmKaxNG6Xfs6K3ZWlLN82e/06t3Wmst0AAAgAElEQVSHmCZNCAbPqiFCW4Fk3br1tZyiIaTq7ti+A/945llycnIxGg1oQrBy8UKOHcxn8MjLeeC5N9EDQfxeD26Xi3v/9iwP3TWO/ILSKq1szYGG+p1f5GZovz5cc9PN+LxegrqO3+ul/+XX0qH3QPKPH6cwPxeDyUT3bl1Z8vsy3nzzLZKSEomKikRKWcMgoJTCYbeTmJiI3+/H5/XSrmNHcvNyufPWm2qlJYxv2pTwMAeBQINeQLXsTOduWQOr/xNiXa20zMqqt8aN69eTl5dLn379K1k2AZUe6EaTiaLCQnbt2VOnhc5mszFl2jQyMzPp378feuX2sfSHuQR0uPHeRzEYjOj+kMSv+31ktm7PS2+/y213XE9FaUnVCyCEQAiQQYmrvJwRQ3vw+D+fo0W7DgR0HSEESgaRUtLn0qsISsn8zz/C5/PRpk1rHnvkYTZs2MSUD6chVejwPxeBQIC+fXsTERGBrutYbTb6DRjI6lWrGHfbzRw9fLhG+RatstC0Bn26Bp3rB3xuqzUSixlNJpIbyL4GsGzpEsLDI+jYqQsQ0gBbzGY0TcNsMnHg0CFO5hfU6Yzg9XpJTUnh3nsq/bZViK2+6ta76d6/EymZleHJlatACIHH5cTtcjP2sde56NpxBHQ/Hlc5+fmFlJeWEvD76HPpVdz05L8wGI14XC40zYAmNISmEQzqhEVEER0Xx9H9ezm4ewe6HqRTxw7ccMN1nCosrFNAFELg13X27NmLVAqT2YwQGm3btSc2NpbcnBwef/hBdmzbWuO5c8O0z6kzUylVY+up4kErz4+ODc7+OTh69DDLly6lU5cupGdm8tsvi0hJScVsthAeFYXVamXnzl14vJ46/Zo8Hg8DBvQLeTJWrg6lYOgVV6PrOicOHSA+qXmt5wK6H4PJzKi7/kZ6u25s/G0+GzbtITUtie6Dh9Oicx98Xi8+nxdNE0jFmYWLJgzofj+u8jKuufMBXOXleL1udIPG8OEXs3X7Dvbv34+1jpyMKEXhqUI8zgr27t1LXNME2rbvQHzTeIoKC+nWvQfTp07hngf+Srv2Hc53GgcSylMP1CRIJyFE3TrxatD9fnJyTrB7ZzarV63kZMFJLr9yFONffYnU1DRatsxi+7atjLxyFEop9u7dX6cBKOT4ZuWSYRdXXdM0DbPZhK4H6DX0EtYsXojH7UIznCO7CEEwEMpG17r7IFp26sMoVwVev46UErfLiQzole2Kyu3s7CoLD3Nw5U130rnvwNCq9Hkxmy2YLVauuHwk7048VKfNPRgM4tMDNGueQkVFBYt//onjx4+h+3W8Xh/79u/j+X+9xLQpH3D3/Q+SkdnifAgyCJhYNQfVbnRv6Cmf18v+vXvYtGE9Rw8fpkOnzmRmtsBkMjJv7neA4Pq/3Mznn35Mh06dEELg9fk4cvRIndtVIKDTLDmJvn36Vk2U0Wjgo48+Zv36dURFRRMV15Rta5ZXcmd1cFRK4fO48PtCgmhQ9+H3hgxOQgvp0TRNoKFVOlhbOH5gD7vWr+TKm8YRFR1DRFQUZrMVWelQ0a5tG9q3b1enSl4zGCgtDYVet23XnkefeIpLL72M+KYJSCVZvWoV27Zu5al/PMvXX86kqKiocXJAd6VUlc9CdYI0GPRvNptJSUunT/8BDLl4GCmpaaxftxan00mXrt146h/PMHXyJCw2K+kZmRg0jWNHj3H02PE6U7eGDEDlvPf+JKSUGAwGpnw4lSlTPyItLQ2/rtO1/xAy2nZE93kwm4zUrSMOcUBKypDZXmi1OToRslbaLGaSk5tRXnqa04Wn+G7OPIqLizGajCgFQRnEaDJy8UVD0CpV9BBifRUKk8lITk4OBdUEweGXjmTm19/y0MOPYjabef7Zf1JeVsZtd9zFgnlz8PsaTuQphGiulGpbgyCVJ33dfO2ZBzWtxr56Mj+PbVu30KZNW157cwKHDh7k26++5PobQ7EqPp+PN94cT3l5RS3dEFQSpKKCb+fORdM01q5dx3MvvMTdd91Js2bN0P06FoOgaVIip0tcnMgvwmYx1fISsVgs2Gw2rDYr4RERhIWFI1VoEoUQILTK0Gg4eeo0Ldt2YOw9fyUqKgKHw86Mz75A0wxYLBaMBgN5uXn4vD5aZGag6zpnSVIJBSWlJRQUFFRdN5vNPPDwo/QfMACr1cKD991DYnIy/QcOYtWKZQ0SpBJVu5OxkiDNgYbZqXOwZfMmysvLmPrJDMIjIrh33O307teP1LQ0AL6bMxejyYTD0UB8hVKkpaRSVFjEU3//B8nJSVw1ZhQADoeV9dsP8953K8lKjCE50sKA3m1IiI2krOIsq7srOxuX04nQIHtHNvv27qVDxw4MGHIRPp8Pg6ZhMhn58Zfl/PzrKqxhMQzt342LBnRh7PXX8G5BAV999TUDBvQnLS2VtWvXMfPLr4iKiqw0S1cS40zSCCHQhEZpWSnFhYW0bX/2Pe7ZqzfXXncDc+Z8wxuvvMjf/vkcwUCAI4cP1YhZrAN9gKlwdstqfaFBOCuWLeWOcXfTpWt3Fv30A9u3beUvN98GwObNW6ioqODSS0c0qIoOBoM0a9aM+QsWsm3bdi4ZNoz4+HgKi8t4ZMIchj4+jS9/2cI7C9djtNtZv/kAuadKsFlDZ5LBYKCiopw533zN+FdfY/nvv9OxUyf69B+AUqFt0Gaz8tMvK9iycT0lngD79h5lypSvuPXBl3lp/McMG34Jhw4d4Lnn/8Wu3bs5eOgwHo+H0rLysyxr9QWiFFJJrDYbRcVFVWlBIJSZwmQ2MXnqx2zdsoWN69eFVPUxjboLdTqzPZ5hX9pdAC04fOggzopyXnj5NXRdZ+LbbzFg4CBat22H2+1m2bLljLvrTmbNmt1g9JOmaQRlkF+XLCEsLIyrrhzBtv153Pjcp+w9VoAtzEZETDhOr5+/f7aEyfeNZMfuY7RtlUx8TBjlFW769h9Aj569KK84O4HlFRWgJEaThe8X/saWDWso9wnK3RLhsKKUBZfHz5dfLGDlumwG9m7FkaPHmDptOroewG63I7SQSv+c3QqTyYimaQQCOs1T01i1fClRUdG0aNWKFi1bsnXzJjRN4/GnnuaZv/+ND6d/0tjqAMhUSiUAJ8+skPNmmgFmTJ/GjTfditVq5aeFC9i7Zw9XX3c9Ali6dBldu3YhMiICZyOGGrvdzspVq8neuYuWac3YeLCU4U9OY29eMeGRDoyG0MFqt5ooKHXy+EeLiY0OZ9e+HLL3Hici3I7P58Pv92MwGPD7/bhcLhw2C4EgfD57AVs2rkUJI4cKPJWTXAmjASLDOXE0ly/nrMIj7ZSVleByu8+WO+ddCgaDREZGYLNYqjTa7Tt1ZvasL3BWVBAXH1+lkejRqzd9+/Vn7rffNDqfleqqNnB2y8o4H0IArF6xHJvdTr8BAwkGAnzx2Se0ysqid9/+FBYWVqXDCLXUaEeoqKhAkzqnZRhPz1xNqdNNhKOmmkUpCLOZOVxYxoOTfyapaQzHc4uY8+NqjBqEhUdgNluwORzEREWy+8AJXnnnEw7s3k6Yw8rOE070oEQgUTIIZ35KgtWMUpLjOR48fiMmozh7XpxpnxCXdcakYDSZkFKi6zqxsXE0T0tj4jtvYbPZSUlNq9oV7nvwrxw6dPB8LIhQyVRplbEfqefzREDXWbzoJ26+7Q4A1q1ZzZbNm+nbrz9hYWFk79xJr149qwSq/JMFNEYVowaYw8gLa4fUDFhNhlqcFISIEmE3szfvNOPeWUC7VikYjCaeeuFdfp0/m9xjB9i7eTWvTZjC069NQ/hO07RJODuOlnG63INRKDSTFWNEHMbIpmhh0QiT9WyKJ6XIPRXEpyuqL6QaXJaA5MTEKo0CKNwuJwMGDWb71q38/ONCWrdtVzX++KYJ9OrdlznffMV5oCOAUSkVB8SdzxO///YrmS1aVn1dYP73c5FS0qlrN5wuFw6Hg5TUFILBIBXlTnbv3oOlwVCwkPxQ3KQ9PmM4Rtkwz64URDgsHCgoZexrc5nx5Giaxozh2aefwnV4C7rZRklkRwZ1SSHSqrFx/ylyir1Yo2LBFgHmSs90GSQgg6iAjvI4kRWnUc5ygt4AeQUaqUmmUKquc9MJKsXR48crLYShBGoSsJpMjLj8Cia8+ToDBw3BUc0J8Nrrb+CFZ/9BaUkJUdHRDQ2vJYS2rAQhRKNfAQjoOtu3bWHUmJC7Vm5ODmtXryIqOppmyc2oqHCSkZFOIBDAaDBy8NBBjh8/UW+EkxACFfDjsjen1JKIQZ1fsOqZlXK4uJzrXvkWzWLji5mf0W7kOPSm3bmoayoxdhNbjrk55ovE1rw1hrh0hCMKNC0UhyiDICUgEDYHhthkDPHNEHY77rIABUU65+5bUkpiY+M4cuQoO3ftPmtZVAq3202/AQMBweT3J9bor93hoG+/Afyw4PvGhpahlDJoVH7/qTFsWLeOlllZVVRe9NMPFBYWEh4WhsMRRkLTeCIjIgkEQsadDRs24nS76tV2+n0+mjZN5O+PPYwmgwSD5x0XGSKKzUyhy8df3pzP0m1HePe1p/h0wpNktW7N+tMRHDU0wxKfgjDZQJ05M87dCxVIBVIiLHZEfDOIbsLp0wFkUKM6Qbw+H1mtWnDbLTexaPEvVcY2ETLAYLFZuWL0aD6f8Sk5J47XaOXSy6/g8OFDdRqyqiEeiNWA2urUWhOg2L0rm0GDQymJArrOb78swmQ2Y7XbaRIXB0KETJ2VCcPWrdtQFQeu63oNRZ0ipGYfe+MN3HX9cK7v1xq388KSHigFDrMRXcFTny3niWm/sHhvOfMOwHGvBbPJdPbgbqgef2W7sjJ+3RHFRcP7kJWeikHTqg7zYCBAm6zWXDJ8OJqmsWvXLiwWCy6nE5/PiwoqevTqi6ZpfDxtao02LBYLHTt2ZsXy+h3fhRAWpVSiBtT+9MA5OHhgH3Hx8UTHxACwZdMm9u7di8ViwVyZBumMN6LJZCInJ5f1GzaSlpJC+3ZtSUpKrFo5AEIGEdZIzLEhbei/7hxGVvM4nF4dYwP2g1qTCZiNGlazifkbjzBxwWbyTpdjMZy52wg0DaX7QkTRNJTHT482SVwzshdtOnai3GVCSYnNasVmtdG3T290XWfIkEFs3bINo9GE1+/j4w+nkJ+fR2p6Gl26d2fu3O8oOMfrZOiw4RzYv7/BLBNAogYkNtbvPbt21XBuWPLbYnTdj4AqY9SZCRDAL7/+RnR0FDM+mc5338xm3B2343Kd9XvVkOhhidw9dTkz5q2gWXIiUx4bQ5hBgN9bZZA6XwgBYVYT4XYLpno+1lInlEIz25AVpQS8Oi3T4rhlZBcqnG4WrDpATpmdUhe0a92K8LAw1m/YgB4I0DorC7vDwZEjR0hpnoLb7eGZpx4nLzeX3n36kZ+Xx/zv59ZoKiIigqTkZHbV872USqQ2SpCK8jKEEDRPCXHGPq+XDevWVSkaq3uZQEh4ateuLTM/n0HLli0wGk0cPXqshsQexEAip0jQT3D7u4v5+6T59G6XwuMjWiFkkHpcf1GAxx/ApwcJ1leoGputFEilCEpVt8ZAKbDYUB4fCTbJg9f3w+vTmfLdBvbuO0VYOFhNiuKSMsaMHsWs2V9z4kQONmsobW1ubg6aptGnf3/MZjMvP/8sLpeT5GbJLPrpRwLnWB779O3HruwdDU13c43QYVIvjhw6RFr6Wb+5XTuzOX7iOGazpXJM6my4GoJAMEif3r3IzMhADwSQUrJ33/6z+XaBoDBgk07GWFbS3XqI12evYvC4NzBJP4mxMQTrCO5XgFETtGseR7OYcMxCUOHxEZSqXknHX9m+1aARCEj8gWCtxacUmKKi6JZiosLp5s0v13HkeCmp9kI6in0Q8GJ3hHHT2BtJad6c995/n9zcE6RnZOBwOCgqKqJ5ahp9+vUnq3VrJr8/kcyMFigl2bRpY83ZTkkNxU6WlNTZXyFEkpFGuKyy0lK69Tyb5nzD+nV4vd5Q+gtNw+v1IqVE0864OIiQj6wQmE0mCguLOHLkSKX34NlJsJsFmggwyLiBZEcev+yO50huMRGx8Rjq2LKCQYnVYGTS/aNp3jSaCreXL37ZxKQf1hKsbgMRoVVh0gSPj+5H67Q4IiwG9h0/xaTvV1NQUh4SRs9ABjFHx3D4RB6L35uPZrUxJPEo4e48TpaDPSqWW276C2FhYVx68RAmTp7CDwvSaNWqFV169CSgB0hKSqa8rJzb7xzHls2bcLpcXDlqNKtXrqB3n5rfP8ts2Yo9u3fRp1//WmNUSiVpQL2fNXM6ndjsduyOs4LO1i2bMGgh90tN0/B5vZSVhih+Zk40gxFNaBTk53PgwAFycvOqDjMFmDRFvC1AQGn4lJEWphOMTdhDikPHrwzUdyArwGY1s+f4KRZv2seztwznjmHdcbl9IemZM9rYkONb/w5p2MxGft9+hG5ZzbhxSEcCerBG7UKAL6ixNz9InOcol8dmk2YuQJhM+NxuLh3Yj65du1JWXkbrrCxaZmZisNhx2O18++UsjAYD4eER2MPCOHnyJK++8RYVFRUMHnoxhadO1Uol0rpNW4qL67UkJmpCiHp1wyXFRVXfbILQh7f279tHZFQUmRmZSClxud0UFxcDIQ7LbDZhNGj8tngRhw8eIHvXbhKaxjNi+DCcTidSCWIsQRxGiSRk8/YpM9FGJ/F2SbDBj6IJzEYDWw7k8MTrs/l9+yFG9GqNALx6ALfHj18P4vOHJkEqxbpdx5j06S+s25dDanxUKH7kXKWhlETERTOkhQs7brzSiNEoECis6EglCQaC2BwO+vXqwfIVKxhx2RW0bduO6VMn4/V56dCpM0uX/EbPXr25+ZZbSUxMJDYurpaPb0REBDarjbKy0roG2KRBlsTtdtf4DN2e3bs4fuwYV1w5mtFXX4PH48Hj8VBUFEoAVnjqFF/M+IQH7rmTNSuX0bVHT9Zv2ECP7t0Z/+brtGzZArfLSUBpeAIaWtW7qtCx4CEMQWMCosKgCZCSEpcXGZAM6pjBvOdv5b27L+erf47lyp5ZePWQF4tBE6CFIqfq4wM0JG5ho0yGVy1OgwYmi5kDBw7iLC1BKkl0bCxRkRE0S0rko+kfc92NY+neoycT33qDtPR0Ck6dorS0hHsfeJDomBhatmzF0SOHa7WX1KwZ+Xl5dXUlpkGCGI1GwqqlkNiyeRNGo5Ebb7qFzJYt0YTAbDazcP73vP7Ki4y97ipefP5ZVq9axbARI9EMBg4eOEjXrp2x2+2Mf/01Yps04bTTh8WoqvKeCBQBTHiFvc70SdXhD0hS46O5ZEgX+mQ153BBCQ67hRE929C1dSqZybHcMqwrdpMRPSgJt1vo2zOLHi2T2H3sFMGArKE8DLUPujRQEIhCExJUSAI3CIknqNCDQZRShIWFoYSga6cOrF27Dl3X+cvNtyIIpS+0Wixs3rSRM5xeRmZmnXJHUnJynVK7EMLaUIwhCYlJNa5t27KFjMxMmqekkJCQRERkJGazmbVrVvPZp5/gcrno168/Iy4dSbv27Tl16hQej4dOHUPuXp06dWTIkMEYUDi9Ac6ew4qAMOMT5jrUGzV6hcvrZ2i3Vnz76jikUkxbsAahabhcXu5+62tmL9mK3WrGaNBwevxc1L0Vb95/BQeOFzJ39S6MpvqSV0hOBiJRlamMReVSiW/aFKvDQVAGCeg6Sc1S8Hk9JCYmsHTZMgCuvWEsS5f8xoYN69m0YUNVjed+CvAMIiOjQsa5OjIMNRSFW0NrWVpawu7du+jcpWtlY0kkJSeHws9MJkxGI/945jkuvexyBg0egs/vIzcvD5vNRkZGiG12uVw0iY7m1Zf/hc0RcfbAUxJd2FGYqiainl4RbrPw45pdDH1iCpc/8zG7j+TjsJpD6o3Kn6w84O1WExt2H+fut+fwz89+pdjlxWSse8hCSIqDDtzSihASKYPYI6NpEtcUs9GIDIaivDJbtOT4sWN07tihKka9Z89epGdkUFBwknVrV1fJH+EREXV+ywpCZ0ldq+S8xdqD+/djEIJu3UMssMFgoH2Hjvh9PsrLy7nl9ju4fNQYOnXpSnh4BJrQyD9ZQFJSIhERIUauvLwcR5iDy6+4gjZZLULpwAENhVfY0DE2QpCQLFJU7mbT9kOcKC4Hy9nkA5oWckA4A5NBI6ewlN0H8tClwmw01Fu7AYUnaOZ0MByjCCXvj2uaiBRGnE5nZaqnIJGRUQgtFM8IoS/4OMLC6Na9O3a7nf3797Nnz24gpMNqVY9fdHRMkzoDTTWlVN2pDM7Byfw8evTsRWaLs954vXr1wevz0qlTZx569HEAWrdtx4H9+2gSG8exo8dIad4cUTlJHq+HhPh4NJM15G9b7ZMSfuGgfhGPqnJWiwmb2QQ2C5Zq20/V9idEtVoEZpMRLKbQ4d4oBAV6JKJS8+6wWVAmMxUVrpC5QIUSDmS2aMnundm0atWKdevWAdC9R0+yKr91teS3X6tqjDjn24xnEBsbW+fHCjSg0ZRBSimaNk0ko0ULmiac1bQkJScT5nDw4EOPVEnuJ44do/BUAUaTiVOnTpGenlZVvry0nJTU5qigTlxiCtFNmlbmXwRvI16sQggCUrLtQC5FZc4qQRQFRoNGmCWUB95iMmI1mxCEVoi4oHy/koJAODpGNE2QmJKBw26v9GIUgET3+2nZKoudO3eSmZ7O4UqP9y5du2OxWvnLTbewYunSxvMMV6aqrQ6lVFAD6uS/zkVWmzYYDMYackl5eTkdOnam74CzUQzr162pSrPh9Xoqcx2e6QQkJiQSCARo3bUfzVq0RfeHBusSDefHNWiCgFTc/u53vL9wDQ5b6AWw2Uxs3HOc29+YTbHLy+KN+xg/eykePchzX/zG1yt2YrWcZ+ZvISkJWCnXrTgcNlp37k5MdBSlpSWhFaZCsfRNExIpKioiGNAxmc2hVLOZmSgp6d6zJ82aNyd7x/bza7MmijSg0ZwQQgjcHjd2h6MGVcvLy2h6TjjX8mVLSat0e5EKoqp97DcqKpqo6CiUgvjkdBxRiciAjhQmApodkMgGzpAz25K3mirfZDRyoricmSt3UOb1s+nISRZvP0xAKbYfPklOcTnG89quQtuFlEZOeizExieQ3q4r4TYLfp+/csuSWK1Wjhw+RH5+LkePHiY9Lb0q+is1NY3cnBzuuudetpyjxzpPnNKA2pJLHTiZl0fiOWywEIKwalyE0+lk+7atVZ/UtlosNGlyRrBUNG+eDFJiMJlJymhNWYUX3a8TFEZ8WBs90CF0cFc/D5RSmAwa4XYrmhBYTUYcVjMCsFlMDR7k9SHHZaV5q67EJqfRPD0DpSRBGcRstlBaUsKn06fi9/s5cGA/mZkZnMwPRU916NiRLZs30aFTZ5o2bYrXc8GZxo9qwN7zKVlRUU5MpYHqDATgqKbn2rljO2Wlpcz64jO2b9lMwv/r7syj5KqrPP65772qerX2ku7q7nSShmwQwxaBkCCEfYBx8AAqcBAFAT1ymDkzKoOOOqOoI8dBGZVFGGDABR0GBwQOixwVHJVV0AARQtYmTZJO713VVfW232/+eK8qvVR3J0zjUb7n9Kmu31uq6nff7/e79/7u/d6OvRoWCDd+63q6t2/FNE0M0yKWyNLa2UXFExxJYMxqpc+G/e36erfwGLHyHHjU6ejAI9fQgArCQG4xDf7ztlvYsGED8USCTRtfp6mxsZa2tmz5QQxHfr1TTju9NnXvB7YZIrJxX86slCu0d0zdOhnPJPrS+t+HtkAQ8IXPf4Y3tm+jsSkU4re+8W88+MBPWbpsee38lrYOTj33ElwdR739pd33DQJlP0a/m0K0TyKeIJvLEovHuPt7d/LYow/zkYs/yrJly+np6SGeiNeqXC9ZtpxKpYLrusQTiRkpbKfBJkNrvUVrPTLbmZVyqY4KF3KLVNHd3Q2EZSG2btnCr574BTrweeLnj3Prd29k5cpDSKbSNQ0km8uw9q/O4eB151Asu/s0Zc0G/f+9iyFQrvDMH17DNA0M02TRokXc/b07ue8n95JKZ1ixYgU333I7TqVCf18fra2tFIsF5s2bRyqZ2tfAuCkQkVcNwzCKwCuznWynUmQnVVUOA8Z07f9dO3cSj8VJJBJ86tNX09DQwOWXfJhrv/pl1q59Txg6M27zKd+xADuZYeERZ0TDfg6mnLmAafDcS5tw3YBk0ubB++/jv3/8I77+jeu56KIP8/zzz7N4yRJaWlro6elhUVcXtp3ENE2aW+YxFHm/9wdaa6W13lI1a38508nlchnLtKawQscT8VqWqVKK4aFBjjp6NQsXLeKSyz/Ouee+n61btxAoxV+f9T42vPIKw0N7iz82t+YxTJMt3bvxlUJmMQz3CXNwC+IxXu/uY8fuAe687Rb+49abueDCD3H2Oe/n5FNOYzDq8M6FixgcHMQ0zRplSDaTZc+et1RuvVtE3qgK5JGZziyXS6TqVJixI4J7ABUE5HI51hz7HrKZLKZpMr+zk1Wr3s3Rq49h+fKD2Lx5E7/4+eMAaKVYuHgZ8XQDx61aTL4xh+M6+HW2b//0MFjWkeb2m67nwQd+im3bxGJhBObKQw+jsTGcuhcsWEDfpM5fsGDhBNLP/cBzIqIMABF5Xms9rbalAkWucaoLIJXKhBU5CeOsjlmzlo6ODrK50GXf3NREoBQnnXwqVhQudOt3b6J7+3bEMCIuEzhpzUqOOfYkWtsPxDJjoW0SeLO64utD9jtqZe91RhSIXcIb7WHTay8TTyQxxKh1ckNDA8uWL8dxKixZuow9vRMFkmvIod/C1Csij0LkXBSRALhnpgvq8ds2NTeRTIZaVsK2+eD5F6K0piEyBufl87S3t3PYEUfgOg4JO0FfXx8fv/Qj41K9hI07him4MRYvP5zWg9eSO+BQko3tmFY8DFdmsXcAAA7gSURBVP2sCkgFb1FIdbsALQa66owMHIzKCAlc4k15ZNFaPnX1FxEVTHGDHHr44fh+QGdnJ44zMTk0kUjOvINQB1rrAvAYjEuLFpE7tdZX12OxdiqVCa74Kmw7WYsMtCyLlnyeocEh2iN/V8wyWXzgYto6OhgaHIzqephYpsUnLr+U9571Pv7hk59k254kZccFTBzLJtW2GCN/AIFbJigX8EojBJUx/EoR5bkotxQqFGIghhk+2eO8vIiBFo2ODEitBESHAdSiEK3AdzC9CuI7mCjMRBKzaQGSbkQp2LSjn3jbCo5dewz3PTCxCt6RRx5NMpmksbFpClNDS74V1bt/D42IPCoivZMF0q21vge4ZOoVEw3AKhKJ+BT+q7FigY7OMBiyuamZVUcdjSEG+fZ27GQSFShuu+v7vLx+Pdd+9Ro+8MTPeNfZXyGTWYzjlPFUgNYBCpCYTSyRItbUjmiNCnwIPNTYIP7IHnShD79cQPkOQRCNHg2ifFTgo3wvCs7yIXDRQfjeNCT0NqfTGHYrRiqHtmx0EOD7LmgfrTzueug3XHrqmfzP/Q9MoNqoTsn5tjbikyhDcrkcI8N198tnQo2scUJv6rCu7YWT8w3ntbRgWVONnHQ6Q2aSKhyLxbCjL5lKp2vpXA0NjeRyOUSEjvmdzO9cwLHHHc8Pv/8DntgdI5kK8Cbve2uFjoKwNYRrg5XAbFqA2bwQCXy0V0Y7RZzSGOJVcMdGKI+NIUGFVKWPuAmICaaBWAnEjCMxG2XGUSKoIIjoAT104Nd2LNNJmyefXc8HT1jB8qUH1iVes22b5CTGB0PCKqP7gSdFpMbGPOFTDMN4TSl1E5OKkNRKZE+CFYuRTKWjuKzwCRrvLkilUjVLPhaL0d4xnyDwa2pvNpfjg5dcyVM3P4sOPCpK42uNNd2iHCXXVIXkYeKbWTLZJJ0tTajhHSxd8x5WrFzJwHCF1196jk3dPYxVAuyECb6L8n1U4KF8Hx34kRCmTjEiguM6PPLMJlYduZp0Ha6vRCJR07jGX1ePuWI6aK0/P/59PQKza7TWb0xunw52IkGpNFZ7P6+lZVpbYPHiJVMyUl/ZvIdixcMQwQv2bTXUCL5h02y6XL2umXVD93Ou/Rznt71B44u38N7UBo5zniC/7X6Wjz7NpScsRor9FEsOnucSUVvP+jmZVIInf7eBeHMXq1ZN5QpLZzK05ttm3/uY7ndo/V3DMJ4a3zZlHIrIiFLq40Sr/mxobGoiGOcOt217Wtts5SGH8NL6P0xo27KrSNVCL08br7sXSoOPScvup2jc9AC/fNpj07Zu1v3LV2ia18otd9zFE799Ftu2aW5upqkhy0XrDuDZe79NbuVp/L4/xmihQMKa/Sk2DYPBgUFe7+vky+umEO1hmmZtGq61WWZ94ppJiMyMz0xur+vRMwzjZ0qpa0Tki7PduCXfNmF+TafT0/pyFi9dRt+ePVQcB8918DyfbbtHw2xboDKLQLQGZdqs4XW2P30Dh51wCoceeQyF0REOP2o1e3bvJh6Ps3jJUj5/zVdoaWnlqV//mjEf2tvmccEpy/Cbl3L1zY/QO1zAjs8eUmAnYvxm/WY27hhgxZI4Y6UKxrgCAFbMwg+CGluFnbCn5bXf+zv0NuADhmFM6ahpXayGYXxJKbVMRGaskDD5aehcsJAXnnuOIErWcRwH1/NC9jfTorOri929vajAo1BW7B6qEDMNlNb4Ss/oPik4io8dN4+DBwt8x0xw0eVXcNC7VuJWHAIV4LouVizG8SeexJJlyxkZGeH4k07GilkctPJQAivBiYcv4jtXnsHf3vAIvSMFbHNmD1osFmNouMhVX/gaV19xPou6umhuasTzPCqOw8joKDt6erAsi5hlEY/HaWiaN0FIdfCKYRgb6h2Y0ectIpdorZMics5M51UR0uIJQ8ND7Ny1i0qlErJRhDcjYdssXX5wSJQcMxnqDyi7YdarrzWOnj7MoexrDp5ncdmRCe7/r0HWHH8iDY3NbN64sZa55Xk++XyezoWL6OnpwY3owW07yfKDVpBOZ+nZ3c8hi1v4ykdP5u9ufBjPd5mGujGs2uMrmuJjFIs+P3n0V2RTSTKZFCccu5pDVyyjo6ODIAjwfZ+qiSgimGbIn5JJp8lmMhOmNRE5Syl1mWEYd0z+zNkE4mmtz9Na/1BEzp/pXD/weXPnLiqui2GalEqlaeuDVFlAB4oax4dUHJwgFEo9BaWaDHvBSotKoR/XhxNPOY3BwUFcNwylMQwD3/Nozbdhp1IMDw/X4r5GR0dpbs2DCLt7e9nTC++an+bCE1Zw2+MvkYoZkeEYvRqCiIlXHCI59iZrj1hMtq2TjQPDbHhhA0Pd2/jOnT/ijBOP42Mf+gCHze+kUBybmAMTBIyNjVEoFChmM8xvn7KX9CWl1D2Rt72GWSdREfENw7hAa33tjOcR8iwmbJtkMkVxdLQub2HVZR+PxxkpOhimRTxm4yFMl/dZ8eGwvMnR802Gx1yOXL2Gjs4F+H4YgW8YRsS3ZdHQ2IhphGSa1WPVOb8aIqS0ZqhQ4qzVXSxpCKgUBtFuGe1VQi9AsQ9v1wa8nS9gyxgDI0V2bd/GM089jTvQRzZp4wUB9zz0GGdf/vfceMfdtfuP67fa58bq2HAisgA4c3L7Pm/TGYbxOa31i1rrb4nIlBhJ0zRZMH8+ZcdhUVcXY2NFWtvaoyLE4bRV/cLpVIodO/dww7e/yICXYcWqU3HS7QRGkphlImIQriYRBxaKk7o0CQtcF3KNjah6XmERGhsb647M8e9FBI0QM4H+Vylu3U7KtsOkXN9D69BWSmQzFHzYsCmMA7EFxKuAGFiWRTabodDXz+0/vo8Pvf9vSCTiE3IpAdrz+ZkW+ROBe8c37Ne+qYj8RCn1W631tSJycZ3jpGybQw45lM2bXqe9LV/b0vQ8LyrWKBSLY1zxT19l09ZtrDnqcPz+p3F7Y8Rcm0pgILE02kpilAdwikNk48Jhp55HOQjpkurFxGodirClrT1MQq1jG4wXigoCLMuitbUV/8WXGQ0CEok4sZiFacSJ+GYJo3/2PvmBUrieg1epIJbFcccfy9e/cBXzmpsYHBqekAaulKJUKc8kkAMmN+z3RrZhGLuAS5RSdwGfFZEp3LPZXA47kcAUITfOteI4DqOjI/zzdTfw7IvrOfPkdbTN78QyBN9zWep7vPLqq/xx40bikSrtBwo/EWOseAatzTn8wKml0U1MvBFc1yGVSmNaFioS2niuRcMImUnN6M9OJvnBjddx74OP8dDjT/Da1u30DQxSHCtFxAITIaZJJpViaddC1r77CM4763ROPyWMSevesaOuhe66MxIiTOn/txxZYBjGk8CTSqnjCSuBnjk++Wf+goV4nldzpTiuy9hYkR/d/zD3PPgYmWyGF1/dRKZ/lGzSpn1eE0nRDA4XiNmZkDMRCBwXT1u05dvI5/OUyyG/YnXKqr4K4Pke6XSKTDasGlp9WqtrzPj1pqpcmJbBlZddxJWXXcTQ8Ahbt++gf3iYXbv3MDQ0guO6JOJxGhtzzG9vo6O1hWVLDphAm943MDAlFx/CEZlKzVgCcs/khrnY8ARAKfVNEflUvWNaa3bv6aW/f5DzPvFpNnf3kEqGxJOWnQQrjlcpk7aESsRRKCI4jovjOFz/pc9y4Tlnhk9ueHDaL24YxpT1JdTS9o6nCVNX5IezbZtsOk02m6nFIs+EcqVCqVwOiQNcdwpjRRAEJJNJOjs6pmWz0Fr/o2EY3xjfNpexN9Ny/o6MjIDW/OGV13ht8zayUayWIUJQKYEuYQiUvOrTDIWxEjHD4M5//xoXn38OW7dvRylVo7KYzpiru9jPgGpnlUolSqUSvX19E0ZTdUSNv38QhAzZ1VzGCetGRMiZTqdpy+dnEoYCHp/cPicCiYrA1OXc0lozWiggIiw5YCEd+VZ29bxJLJOJuN6N6j0IAhVm8DouXQd2cet113D6ScfzRs8OAqXq8sfPFSZ3nFKqJtzJGlr11YymvXAKDW2oeDxOQy5HwyQf12SIyP+KyJSk9Tn5hUqpJmCLiEzhH/J9nzd6evB9n7bWVnbs7OW6m+7gufUvMzA0TCXKkbATCRpzWZZ0LeLEY1dz8Xln097Wyq7eXgqFwrR11t8OjA9tqrVFr+M7rDqSLMvCTtikUklSydTeyPyZP2OdYRhTClbNlUAywCapU/dQKUX3jh2hqirC0oiEoFJx2Lm7l+GRAgLkchna860TWEx79/QxUhgNSWD03i55qwNlOtuk5t4hevINA9OyQi6XWMidpSKrtTqFmaaJZZpYsRjWJKNwH77HNw3DuKresTkRiNZatNYviMiqesd39/YyWihEVOJx2vP5ukET0b0oFIuMjI5SqVT2akPRCJkcnDcbxk8xoaUuiCHh3G+atc6PWVYUexb+P9nynitorR8UkXNkmiLFc7KGiIhWSm0A6gqkubmZSkRW6TgOO958k3g8TiK+d08+UArP9XBcJyQw1mEByJhl0dCQI5MKQ1ari6aG2utMqKm+UhXERNX3Twmt9T0icvF0woC5VXvPF5FpyQVdz6O/v59SuRx6hSdPH1HXGpFbIpFIkM1kyKTTM5Z8+EuA1rokIl8Wka/Pdu5cCiRDWG6vfi5whIrjUC6XcV03VB8jl7thmsQiQdhvLXL8zxJa63tF5F9FZJ9SquZ0zCqlrhCRfao/+k6G1roHeAi40zCM/UqlmlOBRAvuY/X8W+9UaK0rQD/wKmFhll+KyDMiMmuKRz3M+aqmlGoBfiEi+1Wt588JWusxoJcwu2wDYdpf1U83CHjAEDAAvCkiO0VkrN699hdvi5qhlGoF7haR02Y9eT8R5dXbsi8Op4nXuYQd6QBjwDBhp/ZHf28A3UCPiGzTWvcahlG/0PrbiLdN74tsk6uAq0WkZdYLZsYw8FPgdqBHa90kIobWuoHZf8MoEIhICSgBo1prT0QqM6mf71horRcqpT6nlPqdUsrT+wilVJ9S6mGl1CeUUvtV2+QvGX9Sy0hrfaDWegVheYwuQr7H6obBACGJwR8J5+6N9eKW3un4P+rss3BrKgjPAAAAAElFTkSuQmCC)\\r\\n\\r\\nThe SharePoint Starter Kit (starter kit) is a comprehensive solution designed for SharePoint Online and SharePoint 2019 which provides numerous SharePoint Framework (SPFx) web parts, extensions, and other components, as well as PnP PowerShell driven provisioning which you can use as an example and inspiration for your own customizations.\\r\\n\\r\\nIf you'd like to help with this initiative, look at our issues list for issues marked as [Bugs](https://github.com/pnp/sp-starter-kit/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Atype%3Abug) and [Enhancements](https://github.com/pnp/sp-starter-kit/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Atype%3Aenhancement)\\r\\n\"\n    },\n    {\n      \"directory\": \"assets\",\n      \"title\": \"Assets Folder\",\n      \"description\": \"# Assets\\r\\n\\r\\nThe `assets` folder contains all the required components to deploy the toolkit:\\r\\n\\r\\n- `designs`: contains the site scripts that will be deployed with the site design, along with the associated custom theme \\r\\n- `documents`: contains a sample PowerPoint document that will get deployed to make your site look more \\\"lived in\\\"\\r\\n- `images`: All the images used by our documentation. These files will not get deployed\\r\\n- `pictures`: contains all the stock images used by the pages in the starter kit. \"\n    },\n    {\n      \"directory\": \"documentation\",\n      \"title\": \"Documentation Folder\",\n      \"description\": \"# Documentation\\r\\n\\r\\nThe `documentation` folder contains all the up-to-date information about this solution.\\r\\n\\r\\nIt includes the following instructions:\\r\\n- How to set up your term store\\r\\n- Common errors and recommended resolutions\\r\\n- Manual deployment instructions\\r\\n- Preparing your tenant for PnP starter kit\\r\\n- Term store considerations for non-English speaking tenants\\r\\n- Detailed requirements and dependencies for each starter kit component\"\n    },\n    {\n      \"directory\": \"package\",\n      \"title\": \"Package Folder\",\n      \"description\": \"# Package\\r\\n\\r\\nThe `package` folder contains an archived version of the **V1** starter kit. \\r\\n\\r\\nYou can safely ignore this folder  for version 2 and later of the starter kit.\"\n    },\n    {\n      \"directory\": \"provisioning\",\n      \"title\": \"Provisioning Folder\",\n      \"description\": \"# Provisioning\\r\\n\\r\\nThe `provisioning` folder contains all the documentation you'll need to successfully deploy the Starter Kit.\\r\\n\\r\\nFollow the **Table of contents** to ensure a successful deployment.\"\n    },\n    {\n      \"directory\": \"sample-lob-service\",\n      \"title\": \"Sample Line of Business Service Folder\",\n      \"description\": \"# Sample Line of Business Service\\r\\n\\r\\nThe `sample-lob-service` contains an example showing how to call a 3rd-party API.\\r\\n\\r\\nIt is a full C# server-side application that you can customize and deploy to suit your own needs.\\r\\n\\r\\nThe [`react-lob-integration`](....//source/react-lob-integration) web part uses this service to demonstrate how to call an external API from a SharePoint web part.\"\n    },\n    {\n      \"title\": \"Solution Folder\",\n      \"directory\": \"solution\",\n      \"description\": \"# Solution\\r\\n\\r\\nThe `solution` folder contains the **V1** version of the Starter Kit solution.\\r\\n\\r\\nYou can safely ignore this folder. It will be removed in future versions of the Starter Kit.\"\n    },\n    {\n      \"directory\": \"source\",\n      \"description\": \"# Source\\r\\n\\r\\nThe `source` folder contains the source code for every web part included in the Starter Kit.\\r\\n\\r\\nThere is a sub-folder for each web part.\"\n    }\n  ]\n}"
  },
  {
    "path": "LICENSE",
    "content": "    MIT License\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE\n"
  },
  {
    "path": "README.md",
    "content": "# SharePoint Starter Kit v3\r\n\r\nThe SharePoint Starter Kit (starter kit) is a comprehensive solution designed for SharePoint Online which provides numerous SharePoint Framework (SPFx) web parts, extensions, and other components, as well as [PnP PowerShell](https://github.com/pnp/powershell) driven provisioning which you can use as an example and inspiration for your own customizations. \r\n\r\n![PnP Starter Pack Front Page](./assets/images/default-front-page-v2.png)\r\n\r\n> Starter Kit V3 **does not** support SharePoint 2019 and SharePoint Server Subscription Edition.\r\n\r\n> Starter Kit Version 1 includes a comprenshive strategy for only SharePoint Online, as well as a single SPFx solution that encapsulates all webparts and extensions into a single package. Version 1 may be accessed via the [v1 branch](https://github.com/pnp/sp-starter-kit/tree/v1) for legacy purposes and will not be maintained beyond April 2020.\r\n\r\n> Notice: There currently **is not** a direct path for upgrading an existing SharePoint Online tenant with the starter kit v1 to v3. V3 may be installed into a tenant with v1 already installed, by default, this will add a tenant wide duplicate all of webparts and extensions. It is recommended that the starter kit v1 be removed from a tenant before adding v3, or creating a custom installation of v3.\r\n\r\n> Starter Kit Version 2 includes a strategy for SharePoint Online and SharePoint 2019 and includes individual SPFx solutions for each webpart and application customizer. Version 2 may be accessed via the [v2 branch](https://github.com/pnp/sp-starter-kit/tree/v2) for legacy purposes and will not be maintained beyond February 2023. Starter Kit Version 2 is the only version that supports SharePoint 2019.\r\n\r\n> Notice: The direct path for upgrading an existing SharePoint Online tenant with the starter kit v2 to v3 is to only install / invoke the [starterkit-spfx-only.pnp](./provisioning/starterkit-spfx-only.pnp) provisioning template found in the [./provisioning](./provisioning) folder. This provisioning template will only upgrade the existing SPFx solutions to V3 (SPFx version 1.16.1), and will not recreate the sample sites.\r\n\r\n> Notice: the starter kit adds **tenant level settings** including themes, site designs, taxonomy term sets, and other adjustments. Therefore, it is recommended to test the starter kit in an **isolated test tenant and not immediately execute it within your production environment**.\r\n\r\n# Table of contents\r\n\r\n- [Objectives of this solution](#objectives-of-this-solution)\r\n- [SharePoint Starter Kit v3 objectives](#sharepoint-starter-kit-v3-has-following-objectives)\r\n- [Pre-requirements](#pre-requirements)\r\n- [Getting started](#getting-started)\r\n- [Learn more](#learn-more)\r\n- [Custom Web Parts](#custom-web-parts)\r\n- [SharePoint Framework Extensions](#sharepoint-framework-extensions)\r\n- [SharePoint Framework Libraries](#sharepoint-framework-libraries)\r\n- [Support and SLA for this project](#support-and-sla-for-this-project)\r\n- [Contributing](#contributing)\r\n\r\n\r\n## Objectives of this solution\r\n\r\nSharePoint Communication Sites and Team Sites have great out-of-the-box capabilities, although the out-of-the-box capabilities may not always be sufficient for your scenarios. This is exactly why SharePoint may be extended and you are able to include your own customizations. This solution addresses common scenarios and tasks you may encounter when introducing those customizations, and provides examples and guidance on how you might address and provision them including:\r\n\r\n- Automated provisioning of simple demo content within a communication site\r\n- Automated provisioning of multiple team sites with pre-configuration and hub site association\r\n- Automated provisioning of the whole solution to any tenant within minutes\r\n- Automated configuration of Site Scripts and Site Designs at the tenant level using the PnP Remote Provisioning engine (SharePoint Online only)\r\n- Implementation of different customizations for SharePoint\r\n- Usage of Fluent UI and reusable PnP SPFx controls within the customizations\r\n\r\n> Additional high resolution screenshots are also available: [front page](./assets/images/default-front-page-v2.png).\r\n\r\n\r\n## SharePoint Starter Kit v3 has following objectives\r\n\r\n* Extend the success of v1 and v2 by providing developers a customization and provisioning strategy for SharePoint Online\r\n* Demonstrate new SharePoint Online UX design and layout capabilities including:\r\n   * Full height vertical columns\r\n   * Compact headers \r\n   * Mega menus\r\n   * Background theming\r\n* Support web parts, extensions, and libraries to be deployed one-by-one to tenants or farms\r\n* Demonstrate teams tab development with SharePoint Framework for suitable web parts in SharePoint Online\r\n* Demonstrate Microsoft Graph API and Graph Toolkit (current version mgt-react 2.9.0) usage in SharePoint Online\r\n\r\n\r\n## Pre-requirements\r\n\r\nHere are current pre-requirements for making this solution work in your tenant.\r\n\r\n1. You will need to be a tenant administrator to be able to deploy this solution\r\n    - Notice that you can get free developer tenant from [Microsoft 365 Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), if needed.\r\n\r\n1. Automatic end-to-end provisioning only works with English tenants\r\n    - All solutions and web parts are also English in the current implementation\r\n    - For tenants that have English but have a different default language, the [term set provisioning may be modified to assist with installation](./documentation/term-store.md#non-english-tenants)\r\n\r\n1. Add the tenant administrator account used during provisioning as Term Store Administrator in the Taxonomy Term Store through the SharePoint Admin Center.\r\n\r\n1. A tenant 'App Catalog' must have been created within the 'Apps' option of the SharePoint Admin Center.\r\n\r\n> **It is recommended that you wait up to 24 hours before attempting to provision this solution if any of the following are true**\r\n> - Your SharePoint tenant was just created\r\n> - You just created your SharePoint tenant app catalog\r\n\r\n> **This project will install [Microsoft Graph Toolkit for SPFx version 2.9.0](https://github.com/microsoftgraph/microsoft-graph-toolkit/releases) into the app catalog. If you have another version already installed, you will want to remove that package before installing the Starter Kit**\r\n\r\n## Getting started\r\n\r\nShortest path to success for SharePoint Online - The following steps will help you get started in any SharePoint Online tenant as fast as possible.\r\n\r\n> Starter Kit v3 no longer supports SharePoint 2019,  [refer to the SharePoint 2019 installation instructions for v2](https://github.com/pnp/sp-starter-kit/blob/v2/provisioning/readme-sp2019.md)\r\n\r\n- Ensure you meet the [Pre-requirements](#Pre-requirements)\r\n\r\n- Ensure that you meet the [requirements for SharePoint Framework development](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment) and are using the latest version of [PnP PowerShell](https://pnp.github.io/powershell/articles/installation.html). **Latest confirmed version of PnP PowerShell: 1.12.0**.\r\n\r\n- Prepare your tenant, by accomplishing the tasks highlighted in document [Preparing your tenant for the PnP SharePoint Starter Kit](./documentation/tenant-settings.md)\r\n\r\n- Open PowerShell, and use PnP PowerShell to connect to any site in your tenant with the [`Connect-PnPOnline` cmdlet](https://pnp.github.io/powershell/cmdlets/Connect-PnPOnline.html) using your own tenant url. For more information on authenticating with PnP PowerShell, see [documentation](https://pnp.github.io/powershell/articles/authentication.html) \r\n\r\n  ```powershell\r\n  Connect-PnPOnline https://contosodemosk.sharepoint.com\r\n  ```\r\n\r\n- Change to the `provisioning` folder found in this solution's root and execute the following command (using your own tenant url and the prefix of your choosing):\r\n\r\n  ```powershell\r\n  Invoke-PnPTenantTemplate -Path .\\starterkit.pnp\r\n  ```\r\n\r\n  This will provision three site collections with urls of `/sites/demoportal`, `/sites/demohr`, and `/sites/demomarketing`. Your urls may vary depending on the managed path you selected for team sites in your tenant administration (this defaults to 'sites').\r\n\r\n    - Refer to the ['provisioning documentation'](./provisioning) for advanced provisioning options and guidance\r\n\r\n    - If you run into errors during provisioning, refer to ['Common SP Starter Kit Provisioning results'](./documentation/common-provision-results.md) for additional suggestions and common mistakes\r\n\r\n- This solution will automatically install multiple SPFx webparts that require API permissisons to the Graph API. **After installing this solution**, access your API Management page in your SharePoint Admin Center and approve the pending requests.\r\n\r\n> Notice that the starter kit also adds tenant level settings including themes, site designs, taxonomy term sets, and other adjustments. Therefore, it is recommended you test the starter kit in an **isolated test tenant and not immediately execute it within your production environment**.\r\n\r\n\r\n## Learn more\r\n\r\n- [Detailed provisioning instructions for SharePoint Online](./provisioning/readme.md)\r\n- [Additional documentation and how-tos](./documentation/README.md)\r\n\r\n## Custom Web Parts\r\n\r\nHere are the custom web parts currently included in the solution package.\r\n\r\nScreenshot |  Web Part |  Description  | Compatibility | Code\r\n------------ | ----------- | ----------- | ----------- | -----------\r\n![](assets/images/components/part-banner.png) | [Banner](documentation/components/wp-banner.md) | Creates a banner with an image and overlaid text. | SPO only | [code](./source/react-banner)\r\n![](assets/images/components/part-followed-sites.png) | [Followed Sites](documentation/components/wp-followed-sites.md) | Shows the list of sites which particular user is following | SPO only | [code](./source/react-followed-sites)\r\n![](assets/images/components/part-links.png) | [Links](documentation/components/wp-links.md)  | Link list web part which is using collection data editor and stores the links in web part properties | SPO only | [code](./source/react-links)\r\n![](assets/images/components/part-lob-integration.png) | [LOB integration](documentation/components/wp-lob-integration.md) | Sample web part to surface LOB information from API hosted in Azure. | SPO only | [code](./source/react-lob-integration)\r\n![](assets/images/components/part-people-directory.png) | [People Directory](documentation/components/wp-people-directory.md) | People directory web part uses the people search API to get list of people to show.  | SPO only | [code](./source/react-people-directory)\r\n![](assets/images/components/part-personal-calendar.png) | [Personal Calendar](documentation/components/wp-personal-calendar.md) | Shows upcoming calendar meetings for the particular user using Microsoft Graph. | SPO only | [code](./source/react-personal-calendar)\r\n![](assets/images/components/part-personal-contacts.png) | [Personal Contacts](documentation/components/wp-personal-contacts.md) | Personal contacts for particular user using Microsoft Graph. | SPO only |[code](./source/react-personal-contacts)\r\n![](assets/images/components/part-personal-email.png) | [Personal Email](documentation/components/wp-personal-email.md) | List latest personal emails for the current user using Microsoft Graph. | SPO only | [code](./source/react-personal-email)\r\n![](assets/images/components/part-personal-tasks.png) | [Personal Tasks](documentation/components/wp-personal-tasks.md) | Show personal tasks for the current user using Microsoft Graph. | SPO only | [code](./source/react-personal-tasks)\r\n![](assets/images/components/part-recent-contacts.png) | [Recent Contacts](documentation/components/wp-recent-contacts.md) | Show recent contacts for the current user using Microsoft Graph. | SPO only | [code](./source/react-recent-contacts)\r\n![](assets/images/components/part-recently-used-documents.png) | [Recently Used Documents](documentation/components/wp-recently-used-documents.md) | Show recently used documents for the current user using Microsoft Graph. | SPO only | [code](./source/react-recently-used-documents)\r\n![](assets/images/components/part-recently-visited-sites.png) | [Recently Visited Sites](documentation/components/wp-recently-visited-sites.md) | Show recently visited sites for current user using Microsoft Graph. | SPO only | [code](./source/react-recently-visited-sites)\r\n![](assets/images/components/part-site-information.png) | [Site Information](documentation/components/wp-site-information.md) | Intended to collect and present additional metadata for group associated team sites. | SPO only | [code](./source/react-site-information)\r\n![](assets/images/components/part-stock.png) | [Stock Information (deprecated)](documentation/components/wp-stock-information.md) | Display stock information by using the live stocks service provided by [Alpha Advantage](https://www.alphavantage.co/). You will need to register for a custom key for this to work at the Alpha Advantage site and then include the key in the tenant properties. | SPO ony| [code](solution/src/webparts/stockInformation/StockInformationWebPart.ts)\r\n![](assets/images/components/part-tiles.png) | [Tiles](documentation/components/wp-tiles.md) | Renders set of tiles. Icons are from Office UI Fabric and you can configure tiles using collection editor in web part properties. | SPO only |[code](./source/react-tiles)\r\n![](assets/images/components/part-weather.png) | [Weather Information](documentation/components/wp-weather-information.md) | Weather information web part which is using Yahoo Weather APIs to get the forecast information. | SPO only | [code](./source/react-weather)\r\n![](assets/images/components/part-world-time.png) | [World Time](documentation/components/wp-world-time.md) | Clock web part to show the time in specific time zone. | SPO only | [code](./source/react-world-clock)\r\n\r\n\r\n## SharePoint Framework Extensions\r\n\r\nScreenshot |  Extension |  Description  | Compatibility | Code\r\n------------ | ----------- | ----------- | ----------- | -----------\r\n![](assets/images/components/ext-alert.png) | [Alert Notification](documentation/components/ext-alert.md) | Shows informational or important messages in the header section of pages based on a custom list information in the hub site. | SPO only | [code](./source/react-application-alerts)\r\n![](assets/images/components/ext-collab-footer.png) | [Collaboration Footer](documentation/components/ext-collab-footer.md) | Shows company wide links which are configured using Taxonomy service. Includes also  personalized links which are stored in user profile property if set. By default associated to group associated team sites when a custom Site Design is selected for new sites. | SPO only | [code](./source/react-application-collab-footer)\r\n![](assets/images/components/ext-collab-discussnow.png) | [Discuss Now](documentation/components/ext-collab-discussnow.md) | Custom list view command set to add new custom dialog for document library that utilizes the Graph API. | SPO only | [code](./source/react-command-discuss-now)\r\n![](assets/images/components/ext-portal-footer.png) | [Portal Footer](documentation/components/ext-portal-footer.md) | Expanding footer for communication site. Show standard company links and also supports personalized links for the current user which are stored in User Profile. | SPO only | [code](./source/react-appication-portal-footer)\r\nNot available | Redirect | Can be used to perform automatic redirections of URLs in the site based on a custom list. | SPO only | [code](./source/react-application-portal-footer)\r\n![](assets/images/components/ext-classification.png) | [Site Classification (deprecated)](documentation/components/ext-classification.md) | Renders a header with site classification information. This has been replaced by out-of-the-box SharePoint Online header functionality | SPO only | [code](./solution/src/extensions/siteClassification/SiteClassificationApplicationCustomizer.ts)\r\nNot available | Tab Page (deprecated) | Renders a header with links between two different pages in the site. | SPO only | [code](./solution/src/extensions/tabPage/TabPageApplicationCustomizer.ts)\r\n\r\n\r\n## SharePoint Framework Libraries\r\n\r\nExtension |  Description  | Compatibility | Code\r\n------------ | ----------- | ----------- | -----------\r\n[Shared library](./documentation/components/lib-shared.md) | A shared library that includes shared locatization strings, consumabled by any other SPFx webpart or extension. | SPO only | [code](./source/library-starter-kit-shared)\r\n\r\n\r\n## Support and SLA for this project\r\n\r\nThe following statements apply across all of the PnP samples and solutions, including samples, core component(s) and solutions, including the SharePoint Starter Kit.\r\n\r\n- PnP guidance and samples are created by Microsoft & by the community\r\n- PnP guidance and samples are maintained by Microsoft & by the community\r\n- PnP uses supported and recommended techniques\r\n- PnP is an open-source initiative by the community – people who work on the initiative for the benefit of others, have their normal day job as well\r\n- PnP is NOT a product and therefore it’s not supported by Premier Support or other official support channels\r\n- PnP is supported in similar ways as other open source projects offered by Microsoft with support from the community, by the community\r\n- There are numerous partners that utilize PnP within their solutions for customers. Support for this is provided by the Partner. When PnP material is used in deployments, we recommend being clear with your customer/deployment owner on the support model\r\n\r\n## Contributing\r\n\r\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\r\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\r\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\r\n\r\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\r\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\r\nprovided by the bot. You will only need to do this once across all repos using our CLA.\r\n\r\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\r\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\r\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\r\n"
  },
  {
    "path": "assets/designs/portalsitescript.js",
    "content": "{\n    \"$schema\": \"schema.json\",\n    \"actions\": [\n        {\n            \"verb\":\"createSPList\",\n            \"listName\":\"Assets\",\n            \"templateType\": 101,\n            \"subactions\": [\n                {\n                    \"verb\": \"setTitle\",\n                    \"title\": \"Assets\"\n                },\n                {\n                    \"verb\": \"setDescription\",\n                    \"description\": \"Portal Site Assets\"\n                }\n            ]\n        }\n    ],\n    \"bindata\": {},\n    \"version\": 1\n}"
  },
  {
    "path": "assets/designs/portaltheme.xml",
    "content": "<Objs Version=\"1.1.0.1\" xmlns=\"http://schemas.microsoft.com/powershell/2004/04\">\n  <Obj RefId=\"0\">\n    <TN RefId=\"0\">\n      <T>System.Collections.Hashtable</T>\n      <T>System.Object</T>\n    </TN>\n    <DCT>\n      <En>\n        <S N=\"Key\">neutralPrimaryAlt</S>\n        <S N=\"Value\">#2f2f2f</S>\n      </En>\n      <En>\n        <S N=\"Key\">themeLighterAlt</S>\n        <S N=\"Value\">#fffbed</S>\n      </En>\n      <En>\n        <S N=\"Key\">black</S>\n        <S N=\"Value\">#0b0b0b</S>\n      </En>\n      <En>\n        <S N=\"Key\">themeTertiary</S>\n        <S N=\"Value\">#ffcf3f</S>\n      </En>\n      <En>\n        <S N=\"Key\">primaryBackground</S>\n        <S N=\"Value\">#fff</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralQuaternaryAlt</S>\n        <S N=\"Value\">#dadada</S>\n      </En>\n      <En>\n        <S N=\"Key\">themePrimary</S>\n        <S N=\"Value\">#ffbe00</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralSecondary</S>\n        <S N=\"Value\">#373737</S>\n      </En>\n      <En>\n        <S N=\"Key\">themeLighter</S>\n        <S N=\"Value\">#fff4d1</S>\n      </En>\n      <En>\n        <S N=\"Key\">themeDark</S>\n        <S N=\"Value\">#a37a00</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralPrimary</S>\n        <S N=\"Value\">#000000</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralLighterAlt</S>\n        <S N=\"Value\">#f8f8f8</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralLighter</S>\n        <S N=\"Value\">#f4f4f4</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralDark</S>\n        <S N=\"Value\">#151515</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralQuaternary</S>\n        <S N=\"Value\">#d0d0d0</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralLight</S>\n        <S N=\"Value\">#eaeaea</S>\n      </En>\n      <En>\n        <S N=\"Key\">primaryText</S>\n        <S N=\"Value\">#000000</S>\n      </En>\n      <En>\n        <S N=\"Key\">themeDarker</S>\n        <S N=\"Value\">#8c6900</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralTertiaryAlt</S>\n        <S N=\"Value\">#c8c8c8</S>\n      </En>\n      <En>\n        <S N=\"Key\">themeDarkAlt</S>\n        <S N=\"Value\">#e6ac00</S>\n      </En>\n      <En>\n        <S N=\"Key\">white</S>\n        <S N=\"Value\">#fff</S>\n      </En>\n      <En>\n        <S N=\"Key\">bodyBackground</S>\n        <S N=\"Value\">#fff</S>\n      </En>\n      <En>\n        <S N=\"Key\">themeSecondary</S>\n        <S N=\"Value\">#ffc20b</S>\n      </En>\n      <En>\n        <S N=\"Key\">bodyText</S>\n        <S N=\"Value\">#000000</S>\n      </En>\n      <En>\n        <S N=\"Key\">disabledBackground</S>\n        <S N=\"Value\">#f4f4f4</S>\n      </En>\n      <En>\n        <S N=\"Key\">neutralTertiary</S>\n        <S N=\"Value\">#595959</S>\n      </En>\n      <En>\n        <S N=\"Key\">themeLight</S>\n        <S N=\"Value\">#ffe390</S>\n      </En>\n      <En>\n        <S N=\"Key\">disabledText</S>\n        <S N=\"Value\">#c8c8c8</S>\n      </En>\n    </DCT>\n  </Obj>\n</Objs>"
  },
  {
    "path": "assets/functions/applyportaltemplate/function.json",
    "content": "{\n    \"bindings\": [\n      {\n        \"name\": \"triggerInput\",\n        \"type\": \"queueTrigger\",\n        \"direction\": \"in\",\n        \"queueName\": \"pnpspportalshowcasequeue\"\n      }\n    ],\n    \"disabled\": false\n  }"
  },
  {
    "path": "assets/functions/applyportaltemplate/modules/SharePointPnPPowerShellOnline/SharePointPnP.PowerShell.Online.Commands.Format.ps1xml",
    "content": "<Configuration>\n  <ViewDefinitions>\n    <View>\n      <Name>Feature</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Feature</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Width>38</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>DisplayName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>DefinitionId</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>AppInstance</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.AppInstance</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Width>38</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>Web</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Web</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>38</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>ServerRelativeUrl</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>Site</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Site</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Width>55</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Url</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>CompatibilityLevel</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>View</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.View</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>38</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Default</Label>\n            <Width>7</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Personal</Label>\n            <Width>8</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>DefaultView</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>PersonalView</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>List</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.List</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>38</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Url</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>$_.RootFolder.ServerRelativeUrl</ScriptBlock>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>ContentType</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.ContentType</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Group</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Description</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>WebPartDefinition</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.WebParts.WebPartDefinition</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>36</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <ScriptBlock>$_.WebPart.Title</ScriptBlock>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>Field</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Field</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>36</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>InternalName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>Group</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Group</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Width>5</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>36</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>LoginName</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>PersonProperties</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.UserProfiles.PersonProperties</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>DisplayName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>AccountName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>PersonalUrl</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>SiteProperties</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.Online.SharePoint.TenantAdministration.SiteProperties</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>20</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Width>5</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Url</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Template</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Lcid</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>ListItem</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.ListItem</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Width>5</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Width>50</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>GUID</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>$_[\"Title\"]</ScriptBlock>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>$_[\"GUID\"]</ScriptBlock>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>UserCustomAction</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.UserCustomAction</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Location</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Scope</Label>\n            <Width>5</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Location</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Scope</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>WebTemplate</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.Online.SharePoint.TenantAdministration.SPOTenantWebTemplate</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Width>40</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Category</Label>\n            <Width>15</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Compatiblity Level</Label>\n            <Width>18</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>DisplayCategory</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>CompatibilityLevel</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>FolderItems</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.File</TypeName>\n        <TypeName>Microsoft.SharePoint.Client.Folder</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Type</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Items/Size</Label>\n            <Alignment>right</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Last Modified</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <ScriptBlock>\n                  if($_.Name -eq \"\"){\n                    $_.ServerRelativeUrl.TrimEnd(\"/\").Substring($_.ServerRelativeUrl.TrimEnd(\"/\").LastIndexof(\"/\") + 1)\n                  }\n                  else{\n                    $_.Name\n                  }\n                </ScriptBlock>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>\n                  if($_.GetType().Name -eq \"Folder\" -and $_.Name -eq \"\"){\n                    \"Subweb\"\n                  }\n                  else{\n                    $_.GetType().Name\n                  }\n                </ScriptBlock>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>\n                  if($_.GetType().Name -eq \"File\"){\n                    $_.Length\n                  }\n                  else{\n                    $_.ItemCount\n                  }\n                </ScriptBlock>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>TimeLastModified</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>File</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.File</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Length</Label>\n            <Width>10</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Length</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>Folder</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Folder</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>ExtensibilityHandler</Name>\n      <ViewSelectedBy>\n        <TypeName>OfficeDevPnP.Core.Framework.Provisioning.Model.ExtensibilityHandler</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Assembly</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Type</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Enabled</Label>\n            <Width>7</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Assembly</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Type</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Enabled</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>TermGroup</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Taxonomy.TermGroup</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Width>36</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>TermSet</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Taxonomy.TermSet</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Width>36</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>Term</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Taxonomy.Term</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Width>36</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>ProvisioningTemplateInformation</Name>\n      <ViewSelectedBy>\n        <TypeName>SharePointPnP.PowerShell.Commands.Components.ProvisioningTemplateInformation</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>DisplayName</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Width>36</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>DisplayName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>UnifiedGroupEntity</Name>\n      <ViewSelectedBy>\n        <TypeName>OfficeDevPnP.Core.Entities.UnifiedGroupEntity</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>DisplayName</Label>\n            <Width>30</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Group Id</Label>\n            <Width>38</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Site URL</Label>\n            <Width>38</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>DisplayName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>GroupId</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>SiteUrl</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>RecycleBinItem</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.RecycleBinItem</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Width>38</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>ItemType</Label>\n            <Width>10</Width>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>LeafName</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>DirName</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>ItemType</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>LeafName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>DirName</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>ImageRendition</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Publishing.ImageRendition</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Alignment>Right</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Height</Label>\n            <Alignment>Right</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Width</Label>\n            <Alignment>Right</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Height</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Width</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>DeletedSiteProperties</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.Online.SharePoint.TenantAdministration.DeletedSiteProperties</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>DaysRemaining</Label>\n            <Alignment>right</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>DeletionTime</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Url</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>DaysRemaining</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>DeletionTime</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Url</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>TermStore</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Taxonomy.Termstore</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Groups</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>KeywordsTermSet</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>\n                  if($_.IsObjectPropertyInstantiated(\"Groups\")){\n                  $_.Groups.Name\n                  }\n                  else{\n                  \"Not loaded\"\n                  }\n                </ScriptBlock>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>\n                  if($_.IsObjectPropertyInstantiated(\"KeywordsTermSet\")){\n                  $_.KeywordsTermSet.Name\n                  }\n                  else{\n                  \"Not loaded\"\n                  }\n                </ScriptBlock>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>SitePolicyEntity</Name>\n      <ViewSelectedBy>\n        <TypeName>OfficeDevPnP.Core.Entities.SitePolicyEntity</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Description</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Description</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>EventReceiverDefinition</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.EventReceiverDefinition</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>ReceiverName</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>ReceiverId</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>SequenceNumber</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>EventType</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Synchronization</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>ReceiverName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>ReceiverId</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>SequenceNumber</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>EventType</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Synchronization</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>RoleDefinition</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.RoleDefinition</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>RoleTypeKind</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Hidden</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Order</Label>\n            <Alignment>right</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>RoleTypeKind</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Hidden</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Order</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>Audit</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.Audit</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>AuditFlags</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>AuditFlags</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>User</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.User</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Alignment>right</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>LoginName</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Email</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>LoginName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Email</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>ClientSideComponent</Name>\n      <ViewSelectedBy>\n        <TypeName>OfficeDevPnP.Core.Pages.ClientSideComponent</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Alias</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>(ConvertFrom-Json $_.Manifest).alias</ScriptBlock>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>AppMetadata</Name>\n      <ViewSelectedBy>\n        <TypeName>OfficeDevPnP.Core.ALM.AppMetadata</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Deployed</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>AppCatalogVersion</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>InstalledVersion</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Deployed</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>AppCatalogVersion</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>InstalledVersion</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>TenantSiteDesign</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.Online.SharePoint.TenantAdministration.TenantSiteDesign</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Site Scripts</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>SiteScriptIds</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>TenantSiteScript</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.Online.SharePoint.TenantAdministration.TenantSiteScript</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Version</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Content</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Version</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Content</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>TenantSiteDesignPrincipal</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.Online.SharePoint.TenantAdministration.TenantSiteDesignPrincipal</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>DisplayName</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>PrincipalName</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Rights</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>DisplayName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>PrincipalName</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Rights</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>CanvasControl</Name>\n      <ViewSelectedBy>\n        <TypeName>OfficeDevPnP.Core.Pages.CanvasControl</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>InstanceId</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Type</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Section</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Column</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Position</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>PropertiesJson</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>InstanceId</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>$_.Type.Name</ScriptBlock>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>$_.Section.Page.Sections.IndexOf($_.Section) + 1</ScriptBlock>\n              </TableColumnItem>\n              <TableColumnItem>\n                <ScriptBlock>$_.Section.Columns.IndexOf($_.Column) + 1</ScriptBlock>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Order</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>PropertiesJson</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>NavigationNode</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.SharePoint.Client.NavigationNode</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Id</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Visible</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Url</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Id</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>IsVisible</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Url</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>SPOTheme</Name>\n      <ViewSelectedBy>\n        <TypeName>SharePointPnP.PowerShell.Commands.Model.SPOTheme</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Name</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Palette</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Name</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Palette</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>HubSiteProperties</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.Online.SharePoint.TenantAdministration.HubSiteProperties</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>SiteId</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Url</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>SiteId</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>SiteUrl</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n    <View>\n      <Name>TenantSiteScriptActionResult</Name>\n      <ViewSelectedBy>\n        <TypeName>Microsoft.Online.SharePoint.TenantAdministration.TenantSiteScriptActionResult</TypeName>\n      </ViewSelectedBy>\n      <TableControl>\n        <TableHeaders>\n          <TableColumnHeader>\n            <Label>Title</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>OutcomeText</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n          <TableColumnHeader>\n            <Label>Outcome</Label>\n            <Alignment>left</Alignment>\n          </TableColumnHeader>\n        </TableHeaders>\n        <TableRowEntries>\n          <TableRowEntry>\n            <TableColumnItems>\n              <TableColumnItem>\n                <PropertyName>Title</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>OutcomeText</PropertyName>\n              </TableColumnItem>\n              <TableColumnItem>\n                <PropertyName>Outcome</PropertyName>\n              </TableColumnItem>\n            </TableColumnItems>\n          </TableRowEntry>\n        </TableRowEntries>\n      </TableControl>\n    </View>\n  </ViewDefinitions>\n</Configuration>"
  },
  {
    "path": "assets/functions/applyportaltemplate/modules/SharePointPnPPowerShellOnline/SharePointPnP.PowerShell.Online.Commands.dll-help.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<helpItems schema=\"maml\" xmlns=\"http://msh\">\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPApp</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdd/uploads an available app to the app catalog</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPApp</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPApp</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id or an actual app metadata instance</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Overwrite</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the existing app package if it already exists</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPApp</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Publish</maml:name>\n          <maml:description>\n            <maml:para>This will deploy/trust an app into the app catalog</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id or an actual app metadata instance</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipFeatureDeployment</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Overwrite</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the existing app package if it already exists</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Overwrite</maml:name>\n        <maml:description>\n          <maml:para>Overwrites the existing app package if it already exists</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Id or an actual app metadata instance</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Publish</maml:name>\n        <maml:description>\n          <maml:para>This will deploy/trust an app into the app catalog</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SkipFeatureDeployment</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>OfficeDevPnP.Core.ALM.AppMetadata</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPApp -Path ./myapp.sppkg</dev:code>\n        <maml:remarks>\n          <maml:para>This will upload the specified app package to the app catalog</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPApp -Path ./myapp.sppkg -Publish</dev:code>\n        <maml:remarks>\n          <maml:para>This will upload the specified app package to the app catalog and deploy/trust it at the same time.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPClientSidePage</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdds a Client-Side Page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPClientSidePage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPClientSidePage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>Specifies the name of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LayoutType</maml:name>\n          <maml:description>\n            <maml:para>Specifies the layout type of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePageLayoutType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PromoteAs</maml:name>\n          <maml:description>\n            <maml:para>Allows to promote the page for a specific purpose (HomePage | NewsPage)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePromoteType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CommentsEnabled</maml:name>\n          <maml:description>\n            <maml:para>Enables or Disables the comments on the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Publish</maml:name>\n          <maml:description>\n            <maml:para>Publishes the page once it is saved. Applicable to libraries set to create major and minor versions.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CommentsEnabled</maml:name>\n        <maml:description>\n          <maml:para>Enables or Disables the comments on the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>LayoutType</maml:name>\n        <maml:description>\n          <maml:para>Specifies the layout type of the page.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ClientSidePageLayoutType</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePageLayoutType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>Specifies the name of the page.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PromoteAs</maml:name>\n        <maml:description>\n          <maml:para>Allows to promote the page for a specific purpose (HomePage | NewsPage)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ClientSidePagePromoteType</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePromoteType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Publish</maml:name>\n        <maml:description>\n          <maml:para>Publishes the page once it is saved. Applicable to libraries set to create major and minor versions.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPClientSidePage -Name \"NewPage\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new Client-Side page named 'NewPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPClientSidePage \"NewPage\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new Client-Side page named 'NewPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPClientSidePageSection</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdds a new section to a Client-Side page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPClientSidePageSection</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPClientSidePageSection</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SectionTemplate</maml:name>\n          <maml:description>\n            <maml:para>Specifies the columns template to use for the section.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CanvasSectionTemplate</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Order</maml:name>\n          <maml:description>\n            <maml:para>Sets the order of the section. (Default = 1)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Order</maml:name>\n        <maml:description>\n          <maml:para>Sets the order of the section. (Default = 1)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Page</maml:name>\n        <maml:description>\n          <maml:para>The name of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SectionTemplate</maml:name>\n        <maml:description>\n          <maml:para>Specifies the columns template to use for the section.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">CanvasSectionTemplate</command:parameterValue>\n        <dev:type>\n          <maml:name>CanvasSectionTemplate</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPClientSidePageSection -Page \"MyPage\" -SectionTemplate OneColumn</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new one-column section to the Client-Side page 'MyPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPClientSidePageSection -Page \"MyPage\" -SectionTemplate ThreeColumn -Order 10</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new Three columns section to the Client-Side page 'MyPage' with an order index of 10</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $page = Add-PnPClientSidePage -Name \"MyPage\"\nPS&gt; Add-PnPClientSidePageSection -Page $page -SectionTemplate OneColumn</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new one column section to the Client-Side page 'MyPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPClientSideText</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdds a text element to a client-side page.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPClientSideText</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Adds a new text element to a section on a client-side page.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPClientSideText</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Text</maml:name>\n          <maml:description>\n            <maml:para>Specifies the text to display in the text area.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Order</maml:name>\n          <maml:description>\n            <maml:para>Sets the order of the text control. (Default = 1)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPClientSideText</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Text</maml:name>\n          <maml:description>\n            <maml:para>Specifies the text to display in the text area.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Section</maml:name>\n          <maml:description>\n            <maml:para>Sets the section where to insert the text control.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Column</maml:name>\n          <maml:description>\n            <maml:para>Sets the column where to insert the text control.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Order</maml:name>\n          <maml:description>\n            <maml:para>Sets the order of the text control. (Default = 1)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Column</maml:name>\n        <maml:description>\n          <maml:para>Sets the column where to insert the text control.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Order</maml:name>\n        <maml:description>\n          <maml:para>Sets the order of the text control. (Default = 1)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Page</maml:name>\n        <maml:description>\n          <maml:para>The name of the page.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Section</maml:name>\n        <maml:description>\n          <maml:para>Sets the section where to insert the text control.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Text</maml:name>\n        <maml:description>\n          <maml:para>Specifies the text to display in the text area.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPClientSideText -Page \"MyPage\" -Text \"Hello World!\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds the text 'Hello World!' to the Client-Side Page 'MyPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPClientSideWebPart</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdds a Client-Side Web Part to a client-side page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPClientSideWebPart</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Adds a client-side web part to an existing client-side page.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPClientSideWebPart</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DefaultWebPartType</maml:name>\n          <maml:description>\n            <maml:para>Defines a default WebPart type to insert.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DefaultClientSideWebParts</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WebPartProperties</maml:name>\n          <maml:description>\n            <maml:para>The properties of the WebPart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">PropertyBagPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Order</maml:name>\n          <maml:description>\n            <maml:para>Sets the order of the WebPart control. (Default = 1)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPClientSideWebPart</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Component</maml:name>\n          <maml:description>\n            <maml:para>Specifies the component instance or Id to add.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSideComponentPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WebPartProperties</maml:name>\n          <maml:description>\n            <maml:para>The properties of the WebPart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">PropertyBagPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Order</maml:name>\n          <maml:description>\n            <maml:para>Sets the order of the WebPart control. (Default = 1)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPClientSideWebPart</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DefaultWebPartType</maml:name>\n          <maml:description>\n            <maml:para>Defines a default WebPart type to insert.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DefaultClientSideWebParts</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Section</maml:name>\n          <maml:description>\n            <maml:para>Sets the section where to insert the WebPart control.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Column</maml:name>\n          <maml:description>\n            <maml:para>Sets the column where to insert the WebPart control.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WebPartProperties</maml:name>\n          <maml:description>\n            <maml:para>The properties of the WebPart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">PropertyBagPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Order</maml:name>\n          <maml:description>\n            <maml:para>Sets the order of the WebPart control. (Default = 1)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPClientSideWebPart</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Component</maml:name>\n          <maml:description>\n            <maml:para>Specifies the component instance or Id to add.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSideComponentPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Section</maml:name>\n          <maml:description>\n            <maml:para>Sets the section where to insert the WebPart control.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Column</maml:name>\n          <maml:description>\n            <maml:para>Sets the column where to insert the WebPart control.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WebPartProperties</maml:name>\n          <maml:description>\n            <maml:para>The properties of the WebPart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">PropertyBagPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Order</maml:name>\n          <maml:description>\n            <maml:para>Sets the order of the WebPart control. (Default = 1)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Column</maml:name>\n        <maml:description>\n          <maml:para>Sets the column where to insert the WebPart control.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Component</maml:name>\n        <maml:description>\n          <maml:para>Specifies the component instance or Id to add.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSideComponentPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSideComponentPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DefaultWebPartType</maml:name>\n        <maml:description>\n          <maml:para>Defines a default WebPart type to insert.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">DefaultClientSideWebParts</command:parameterValue>\n        <dev:type>\n          <maml:name>DefaultClientSideWebParts</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Order</maml:name>\n        <maml:description>\n          <maml:para>Sets the order of the WebPart control. (Default = 1)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Page</maml:name>\n        <maml:description>\n          <maml:para>The name of the page.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Section</maml:name>\n        <maml:description>\n          <maml:para>Sets the section where to insert the WebPart control.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>WebPartProperties</maml:name>\n        <maml:description>\n          <maml:para>The properties of the WebPart</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">PropertyBagPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>PropertyBagPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPClientSideWebPart -Page \"MyPage\" -DefaultWebPartType BingMap</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a built-in Client-Side component 'BingMap' to the page called 'MyPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPClientSideWebPart -Page \"MyPage\" -Component \"HelloWorld\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a Client-Side component 'HelloWorld' to the page called 'MyPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPClientSideWebPart  -Page \"MyPage\" -Component \"HelloWorld\" -Section 1 -Column 2</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a Client-Side component 'HelloWorld' to the page called 'MyPage' in section 1 and column 2</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPContentType</command:name>\n      <maml:description>\n        <maml:para>Adds a new content type</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPContentType</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPContentType</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>Specify the name of the new content type</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ContentTypeId</maml:name>\n          <maml:description>\n            <maml:para>If specified, in the format of 0x0100233af432334r434343f32f3, will create a content type with the specific ID</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Specifies the description of the new content type</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para>Specifies the group of the new content type</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ParentContentType</maml:name>\n          <maml:description>\n            <maml:para>Specifies the parent of the new content type</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ContentTypeId</maml:name>\n        <maml:description>\n          <maml:para>If specified, in the format of 0x0100233af432334r434343f32f3, will create a content type with the specific ID</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Specifies the description of the new content type</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Group</maml:name>\n        <maml:description>\n          <maml:para>Specifies the group of the new content type</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>Specify the name of the new content type</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ParentContentType</maml:name>\n        <maml:description>\n          <maml:para>Specifies the parent of the new content type</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ContentType</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.ContentType</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPContentType -Name \"Project Document\" -Description \"Use for Contoso projects\" -Group \"Contoso Content Types\" -ParentContentType $ct</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a new content type based on the parent content type stored in the $ct variable.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPContentTypeToDocumentSet</command:name>\n      <maml:description>\n        <maml:para>Adds a content type to a document set</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPContentTypeToDocumentSet</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPContentTypeToDocumentSet</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>The content type object, name or id to add. Either specify name, an id, or a content type object.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DocumentSet</maml:name>\n          <maml:description>\n            <maml:para>The document set object or id to add the content type to. Either specify a name, a document set template object, an id, or a content type object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DocumentSetPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>The content type object, name or id to add. Either specify name, an id, or a content type object.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ContentTypePipeBind[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DocumentSet</maml:name>\n        <maml:description>\n          <maml:para>The document set object or id to add the content type to. Either specify a name, a document set template object, an id, or a content type object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">DocumentSetPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>DocumentSetPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPContentTypeToDocumentSet -ContentType \"Test CT\" -DocumentSet \"Test Document Set\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will add the content type called 'Test CT' to the document set called ''Test Document Set'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $docset = Get-PnPDocumentSetTemplate -Identity \"Test Document Set\"\nPS:&gt; $ct = Get-PnPContentType -Identity \"Test CT\"\nPS:&gt; Add-PnPContentTypeToDocumentSet -ContentType $ct -DocumentSet $docset</dev:code>\n        <maml:remarks>\n          <maml:para>This will add the content type called 'Test CT' to the document set called ''Test Document Set'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPContentTypeToDocumentSet -ContentType 0x0101001F1CEFF1D4126E4CAD10F00B6137E969 -DocumentSet 0x0120D520005DB65D094035A241BAC9AF083F825F3B</dev:code>\n        <maml:remarks>\n          <maml:para>This will add the content type called 'Test CT' to the document set called ''Test Document Set'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPContentTypeToList</command:name>\n      <maml:description>\n        <maml:para>Adds a new content type to a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPContentTypeToList</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPContentTypeToList</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>Specifies the list to which the content type needs to be added</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>Specifies the content type that needs to be added to the list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DefaultContentType</maml:name>\n          <maml:description>\n            <maml:para>Specify if the content type needs to be the default content type or not</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>Specifies the content type that needs to be added to the list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DefaultContentType</maml:name>\n        <maml:description>\n          <maml:para>Specify if the content type needs to be the default content type or not</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>Specifies the list to which the content type needs to be added</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPContentTypeToList -List \"Documents\" -ContentType \"Project Document\" -DefaultContentType</dev:code>\n        <maml:remarks>\n          <maml:para>This will add an existing content type to a list and sets it as the default content type</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPCustomAction</command:name>\n      <maml:description>\n        <maml:para>Adds a custom action</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPCustomAction</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Adds a user custom action to a web or sitecollection.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPCustomAction</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Location</maml:name>\n          <maml:description>\n            <maml:para>The actual location where this custom action need to be added like 'CommandUI.Ribbon'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ClientSideComponentId</maml:name>\n          <maml:description>\n            <maml:para>The Client Side Component Id of the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RegistrationId</maml:name>\n          <maml:description>\n            <maml:para>The identifier of the object associated with the custom action.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RegistrationType</maml:name>\n          <maml:description>\n            <maml:para>Specifies the type of object associated with the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UserCustomActionRegistrationType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>The scope of the CustomAction to add to. Either Web or Site; defaults to Web. 'All' is not valid for this command.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CustomActionScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClientSideComponentProperties</maml:name>\n          <maml:description>\n            <maml:para>The Client Side Component Properties of the custom action. Specify values as a json string : \"{Property1 : 'Value1', Property2: 'Value2'}\"</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPCustomAction</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The description of the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para>The group where this custom action needs to be added like 'SiteActions'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Location</maml:name>\n          <maml:description>\n            <maml:para>The actual location where this custom action need to be added like 'CommandUI.Ribbon'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Sequence</maml:name>\n          <maml:description>\n            <maml:para>Sequence of this CustomAction being injected. Use when you have a specific sequence with which to have multiple CustomActions being added to the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The URL, URI or ECMAScript (JScript, JavaScript) function associated with the action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ImageUrl</maml:name>\n          <maml:description>\n            <maml:para>The URL of the image associated with the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CommandUIExtension</maml:name>\n          <maml:description>\n            <maml:para>XML fragment that determines user interface properties of the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RegistrationId</maml:name>\n          <maml:description>\n            <maml:para>The identifier of the object associated with the custom action.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Rights</maml:name>\n          <maml:description>\n            <maml:para>A string array that contain the permissions needed for the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">PermissionKind[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RegistrationType</maml:name>\n          <maml:description>\n            <maml:para>Specifies the type of object associated with the custom action</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UserCustomActionRegistrationType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>The scope of the CustomAction to add to. Either Web or Site; defaults to Web. 'All' is not valid for this command.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CustomActionScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ClientSideComponentId</maml:name>\n        <maml:description>\n          <maml:para>The Client Side Component Id of the custom action</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ClientSideComponentProperties</maml:name>\n        <maml:description>\n          <maml:para>The Client Side Component Properties of the custom action. Specify values as a json string : \"{Property1 : 'Value1', Property2: 'Value2'}\"</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CommandUIExtension</maml:name>\n        <maml:description>\n          <maml:para>XML fragment that determines user interface properties of the custom action</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The description of the custom action</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Group</maml:name>\n        <maml:description>\n          <maml:para>The group where this custom action needs to be added like 'SiteActions'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ImageUrl</maml:name>\n        <maml:description>\n          <maml:para>The URL of the image associated with the custom action</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Location</maml:name>\n        <maml:description>\n          <maml:para>The actual location where this custom action need to be added like 'CommandUI.Ribbon'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the custom action</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RegistrationId</maml:name>\n        <maml:description>\n          <maml:para>The identifier of the object associated with the custom action.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RegistrationType</maml:name>\n        <maml:description>\n          <maml:para>Specifies the type of object associated with the custom action</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UserCustomActionRegistrationType</command:parameterValue>\n        <dev:type>\n          <maml:name>UserCustomActionRegistrationType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Rights</maml:name>\n        <maml:description>\n          <maml:para>A string array that contain the permissions needed for the custom action</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">PermissionKind[]</command:parameterValue>\n        <dev:type>\n          <maml:name>PermissionKind[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>The scope of the CustomAction to add to. Either Web or Site; defaults to Web. 'All' is not valid for this command.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CustomActionScope</command:parameterValue>\n        <dev:type>\n          <maml:name>CustomActionScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Sequence</maml:name>\n        <maml:description>\n          <maml:para>Sequence of this CustomAction being injected. Use when you have a specific sequence with which to have multiple CustomActions being added to the page.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the custom action</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The URL, URI or ECMAScript (JScript, JavaScript) function associated with the action</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>$cUIExtn = \"&lt;CommandUIExtension&gt;&lt;CommandUIDefinitions&gt;&lt;CommandUIDefinition Location=\"\"Ribbon.List.Share.Controls._children\"\"&gt;&lt;Button Id=\"\"Ribbon.List.Share.GetItemsCountButton\"\" Alt=\"\"Get list items count\"\" Sequence=\"\"11\"\" Command=\"\"Invoke_GetItemsCountButtonRequest\"\" LabelText=\"\"Get Items Count\"\" TemplateAlias=\"\"o1\"\" Image32by32=\"\"_layouts/15/images/placeholder32x32.png\"\" Image16by16=\"\"_layouts/15/images/placeholder16x16.png\"\" /&gt;&lt;/CommandUIDefinition&gt;&lt;/CommandUIDefinitions&gt;&lt;CommandUIHandlers&gt;&lt;CommandUIHandler Command=\"\"Invoke_GetItemsCountButtonRequest\"\" CommandAction=\"\"javascript: alert('Total items in this list: '+ ctx.TotalListItems);\"\" EnabledScript=\"\"javascript: function checkEnable() { return (true);} checkEnable();\"\"/&gt;&lt;/CommandUIHandlers&gt;&lt;/CommandUIExtension&gt;\"\n\nAdd-PnPCustomAction -Name 'GetItemsCount' -Title 'Invoke GetItemsCount Action' -Description 'Adds custom action to custom list ribbon' -Group 'SiteActions' -Location 'CommandUI.Ribbon' -CommandUIExtension $cUIExtn</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new custom action to the custom list template, and sets the Title, Name and other fields with the specified values. On click it shows the number of items in that list. Notice: escape quotes in CommandUIExtension.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>UserCustomAction:</maml:linkText>\n        <maml:uri>https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.usercustomaction.aspx</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>BasePermissions:</maml:linkText>\n        <maml:uri>https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.basepermissions.aspx</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPDataRowsToProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Adds datarows to a list inside a PnP Provisioning Template</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPDataRowsToProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPDataRowsToProvisioningTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Query</maml:name>\n          <maml:description>\n            <maml:para>The CAML query to execute against the list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Filename of the .PNP Open XML provisioning template to read from, optionally including full path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Fields</maml:name>\n          <maml:description>\n            <maml:para>The fields to retrieve. If not specified all fields will be loaded in the returned list object.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TokenizeUrls</maml:name>\n          <maml:description>\n            <maml:para>If set, this switch will try to tokenize the values with web and site related tokens</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"4\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while loading the template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"5\">\n          <maml:name>IncludeSecurity</maml:name>\n          <maml:description>\n            <maml:para>A switch to include ObjectSecurity information.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Fields</maml:name>\n        <maml:description>\n          <maml:para>The fields to retrieve. If not specified all fields will be loaded in the returned list object.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"5\">\n        <maml:name>IncludeSecurity</maml:name>\n        <maml:description>\n          <maml:para>A switch to include ObjectSecurity information.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list to query</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Filename of the .PNP Open XML provisioning template to read from, optionally including full path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Query</maml:name>\n        <maml:description>\n          <maml:para>The CAML query to execute against the list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"4\">\n        <maml:name>TemplateProviderExtensions</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ITemplateProviderExtension to execute while loading the template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ITemplateProviderExtension[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ITemplateProviderExtension[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TokenizeUrls</maml:name>\n        <maml:description>\n          <maml:para>If set, this switch will try to tokenize the values with web and site related tokens</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPDataRowsToProvisioningTemplate -Path template.pnp -List 'PnPTestList' -Query '&lt;View&gt;&lt;/View&gt;' -Fields 'Title','Choice'</dev:code>\n        <maml:remarks>\n          <maml:para>Adds datarows to a list in an in-memory PnP Provisioning Template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPDataRowsToProvisioningTemplate -Path template.pnp -List 'PnPTestList' -Query '&lt;View&gt;&lt;/View&gt;' -Fields 'Title','Choice' -IncludeSecurity</dev:code>\n        <maml:remarks>\n          <maml:para>Adds datarows to a list in an in-memory PnP Provisioning Template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPDocumentSet</command:name>\n      <maml:description>\n        <maml:para>Creates a new document set in a library.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPDocumentSet</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPDocumentSet</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The name of the list, its ID or an actual list object from where the document set needs to be added</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the document set</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>The name of the content type, its ID or an actual content object referencing to the document set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>The name of the content type, its ID or an actual content object referencing to the document set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The name of the list, its ID or an actual list object from where the document set needs to be added</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the document set</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.String</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPDocumentSet -List \"Documents\" -ContentType \"Test Document Set\" -Name \"Test\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a new document set based upon the 'Test Document Set' content type to a list called 'Documents'. The document set will be named 'Test'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPEventReceiver</command:name>\n      <maml:description>\n        <maml:para>Adds a new remote event receiver</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPEventReceiver</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPEventReceiver</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the remote event receiver</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The URL of the remote event receiver web service</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>EventReceiverType</maml:name>\n          <maml:description>\n            <maml:para>The type of the event receiver like ItemAdded, ItemAdding. See https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.eventreceivertype.aspx for the full list of available types.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">EventReceiverType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Synchronization</maml:name>\n          <maml:description>\n            <maml:para>The synchronization type: Asynchronous or Synchronous</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">EventReceiverSynchronization</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object or name where the remote event receiver needs to be added. If omitted, the remote event receiver will be added to the web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SequenceNumber</maml:name>\n          <maml:description>\n            <maml:para>The sequence number where this remote event receiver should be placed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the output file if it exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>EventReceiverType</maml:name>\n        <maml:description>\n          <maml:para>The type of the event receiver like ItemAdded, ItemAdding. See https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.eventreceivertype.aspx for the full list of available types.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">EventReceiverType</command:parameterValue>\n        <dev:type>\n          <maml:name>EventReceiverType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Overwrites the output file if it exists.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object or name where the remote event receiver needs to be added. If omitted, the remote event receiver will be added to the web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the remote event receiver</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SequenceNumber</maml:name>\n        <maml:description>\n          <maml:para>The sequence number where this remote event receiver should be placed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Synchronization</maml:name>\n        <maml:description>\n          <maml:para>The synchronization type: Asynchronous or Synchronous</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">EventReceiverSynchronization</command:parameterValue>\n        <dev:type>\n          <maml:name>EventReceiverSynchronization</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The URL of the remote event receiver web service</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.EventReceiverDefinition</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPEventReceiver -List \"ProjectList\" -Name \"TestEventReceiver\" -Url https://yourserver.azurewebsites.net/eventreceiver.svc -EventReceiverType ItemAdded -Synchronization Asynchronous</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a new remote event receiver that is executed after an item has been added to the ProjectList list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPEventReceiver -Name \"TestEventReceiver\" -Url https://yourserver.azurewebsites.net/eventreceiver.svc -EventReceiverType WebAdding -Synchronization Synchronous</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a new remote event receiver that is executed while a new subsite is being created</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPField</command:name>\n      <maml:description>\n        <maml:para>Add a field</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPField</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Adds a field to a list or as a site column</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPField</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddToDefaultView</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if this field must be added to the default view</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Required</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if the field is a required field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para>The group name to where this field belongs to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPField</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The name of the list, its ID or an actual list object where this field needs to be added</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Field</maml:name>\n          <maml:description>\n            <maml:para>The name of the field, its ID or an actual field object that needs to be added</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPField</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DisplayName</maml:name>\n          <maml:description>\n            <maml:para>The display name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InternalName</maml:name>\n          <maml:description>\n            <maml:para>The internal name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Type</maml:name>\n          <maml:description>\n            <maml:para>The type of the field like Choice, Note, MultiChoice</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The name of the list, its ID or an actual list object where this field needs to be added</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Id</maml:name>\n          <maml:description>\n            <maml:para>The ID of the field, must be unique</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddToDefaultView</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if this field must be added to the default view</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Required</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if the field is a required field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para>The group name to where this field belongs to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClientSideComponentId</maml:name>\n          <maml:description>\n            <maml:para>The Client Side Component Id to set to the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClientSideComponentProperties</maml:name>\n          <maml:description>\n            <maml:para>The Client Side Component Properties to set to the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Choices</maml:name>\n          <maml:description>\n            <maml:para>Specify choices, only valid if the field type is Choice</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Formula</maml:name>\n          <maml:description>\n            <maml:para>Specify the formula. Only available if the field type is Calculated</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPField</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DisplayName</maml:name>\n          <maml:description>\n            <maml:para>The display name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InternalName</maml:name>\n          <maml:description>\n            <maml:para>The internal name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Type</maml:name>\n          <maml:description>\n            <maml:para>The type of the field like Choice, Note, MultiChoice</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Id</maml:name>\n          <maml:description>\n            <maml:para>The ID of the field, must be unique</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClientSideComponentId</maml:name>\n          <maml:description>\n            <maml:para>The Client Side Component Id to set to the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClientSideComponentProperties</maml:name>\n          <maml:description>\n            <maml:para>The Client Side Component Properties to set to the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Choices</maml:name>\n          <maml:description>\n            <maml:para>Specify choices, only valid if the field type is Choice</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Formula</maml:name>\n          <maml:description>\n            <maml:para>Specify the formula. Only avialable if the field type is Calculated</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AddToDefaultView</maml:name>\n        <maml:description>\n          <maml:para>Switch Parameter if this field must be added to the default view</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Choices</maml:name>\n        <maml:description>\n          <maml:para>Specify choices, only valid if the field type is Choice</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ClientSideComponentId</maml:name>\n        <maml:description>\n          <maml:para>The Client Side Component Id to set to the field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ClientSideComponentProperties</maml:name>\n        <maml:description>\n          <maml:para>The Client Side Component Properties to set to the field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DisplayName</maml:name>\n        <maml:description>\n          <maml:para>The display name of the field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Field</maml:name>\n        <maml:description>\n          <maml:para>The name of the field, its ID or an actual field object that needs to be added</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FieldPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Formula</maml:name>\n        <maml:description>\n          <maml:para>Specify the formula. Only available if the field type is Calculated</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Group</maml:name>\n        <maml:description>\n          <maml:para>The group name to where this field belongs to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Id</maml:name>\n        <maml:description>\n          <maml:para>The ID of the field, must be unique</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>InternalName</maml:name>\n        <maml:description>\n          <maml:para>The internal name of the field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The name of the list, its ID or an actual list object where this field needs to be added</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Required</maml:name>\n        <maml:description>\n          <maml:para>Switch Parameter if the field is a required field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Type</maml:name>\n        <maml:description>\n          <maml:para>The type of the field like Choice, Note, MultiChoice</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">FieldType</command:parameterValue>\n        <dev:type>\n          <maml:name>FieldType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Field</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPField -Type Calculated -InternalName \"C1\" -DisplayName \"C1\" -Formula =\"[Title]\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new calculated site column with the formula specified</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPField -List \"Demo list\" -DisplayName \"Location\" -InternalName \"SPSLocation\" -Type Choice -Group \"Demo Group\" -AddToDefaultView -Choices \"Stockholm\",\"Helsinki\",\"Oslo\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a field of type Choice to the list \"Demo List\".</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Add-PnPField -List \"Demo list\" -DisplayName \"Speakers\" -InternalName \"SPSSpeakers\" -Type MultiChoice -Group \"Demo Group\" -AddToDefaultView -Choices \"Obiwan Kenobi\",\"Darth Vader\", \"Anakin Skywalker\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a field of type Multiple Choice to the list \"Demo List\". (you can pick several choices for the same item)</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPFieldFromXml</command:name>\n      <maml:description>\n        <maml:para>Adds a field to a list or as a site column based upon a CAML/XML field definition</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPFieldFromXml</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPFieldFromXml</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>FieldXml</maml:name>\n          <maml:description>\n            <maml:para>CAML snippet containing the field definition. See http://msdn.microsoft.com/en-us/library/office/ms437580(v=office.15).aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The name of the list, its ID or an actual list object where this field needs to be added</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>FieldXml</maml:name>\n        <maml:description>\n          <maml:para>CAML snippet containing the field definition. See http://msdn.microsoft.com/en-us/library/office/ms437580(v=office.15).aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The name of the list, its ID or an actual list object where this field needs to be added</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Field</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $xml = '&lt;Field Type=\"Text\" Name=\"PSCmdletTest\" DisplayName=\"PSCmdletTest\" ID=\"{27d81055-f208-41c9-a976-61c5473eed4a}\" Group=\"Test\" Required=\"FALSE\" StaticName=\"PSCmdletTest\" /&gt;'\nPS:&gt; Add-PnPFieldFromXml -FieldXml $xml</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a field with the specified field CAML code to the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $xml = '&lt;Field Type=\"Text\" Name=\"PSCmdletTest\" DisplayName=\"PSCmdletTest\" ID=\"{27d81055-f208-41c9-a976-61c5473eed4a}\" Group=\"Test\" Required=\"FALSE\" StaticName=\"PSCmdletTest\" /&gt;'\nPS:&gt; Add-PnPFieldFromXml -List \"Demo List\" -FieldXml $xml</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a field with the specified field CAML code to the list \"Demo List\".</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Field CAML:</maml:linkText>\n        <maml:uri>http://msdn.microsoft.com/en-us/library/office/ms437580(v=office.15).aspx</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPFieldToContentType</command:name>\n      <maml:description>\n        <maml:para>Adds an existing site column to a content type</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPFieldToContentType</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPFieldToContentType</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Field</maml:name>\n          <maml:description>\n            <maml:para>Specifies the field that needs to be added to the content type</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>Specifies which content type a field needs to be added to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Required</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether the field is required or not</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Hidden</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether the field should be hidden or not</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>Specifies which content type a field needs to be added to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Field</maml:name>\n        <maml:description>\n          <maml:para>Specifies the field that needs to be added to the content type</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FieldPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Hidden</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether the field should be hidden or not</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Required</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether the field is required or not</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFieldToContentType -Field \"Project_Name\" -ContentType \"Project Document\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will add an existing site column with an internal name of \"Project_Name\" to a content type called \"Project Document\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPFile</command:name>\n      <maml:description>\n        <maml:para>Uploads a file to Web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPFile</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>The local file path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>The destination folder in the site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Checkout</maml:name>\n          <maml:description>\n            <maml:para>If versioning is enabled, this will check out the file first if it exists, upload the file, then check it in again.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CheckInComment</maml:name>\n          <maml:description>\n            <maml:para>The comment added to the checkin.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Approve</maml:name>\n          <maml:description>\n            <maml:para>Will auto approve the uploaded file.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ApproveComment</maml:name>\n          <maml:description>\n            <maml:para>The comment added to the approval.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Publish</maml:name>\n          <maml:description>\n            <maml:para>Will auto publish the file.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PublishComment</maml:name>\n          <maml:description>\n            <maml:para>The comment added to the publish action.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UseWebDav</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Values</maml:name>\n          <maml:description>\n            <maml:para>Use the internal names of the fields when specifying field names.\n\nSingle line of text: -Values @{\"Title\" = \"Title New\"}\n\nMultiple lines of text: -Values @{\"MultiText\" = \"New text\\n\\nMore text\"}\n\nRich text: -Values @{\"MultiText\" = \"&lt;strong&gt;New&lt;/strong&gt; text\"}\n\nChoice: -Values @{\"Choice\" = \"Value 1\"}\n\nNumber: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Currency\" = \"10\"}\n\nDate and Time: -Values @{\"DateAndTime\" = \"03/10/2015 14:16\"}\n\nLookup (id of lookup value): -Values @{\"Lookup\" = \"2\"}\n\nMulti value lookup (id of lookup values as array 1): -Values @{\"MultiLookupField\" = \"1\",\"2\"}\n\nMulti value lookup (id of lookup values as array 2): -Values @{\"MultiLookupField\" = 1,2}\n\nMulti value lookup (id of lookup values as string): -Values @{\"MultiLookupField\" = \"1,2\"}\n\nYes/No: -Values @{\"YesNo\" = $false}\n\nPerson/Group (id of user/group in Site User Info List or email of the user, seperate multiple values with a comma): -Values @{\"Person\" = \"user1@domain.com\",\"21\"}\n\nManaged Metadata (single value with path to term): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\"}\n\nManaged Metadata (single value with id of term): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\"} with Id of term\n\nManaged Metadata (multiple values with paths to terms): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\",\"CORPORATE|DEPARTMENTS|HR\"}\n\nManaged Metadata (multiple values with ids of terms): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\",\"52d88107-c2a8-4bf0-adfa-04bc2305b593\"}\n\nHyperlink or Picture: -Values @{\"Hyperlink\" = \"https://github.com/OfficeDev/, OfficePnp\"}</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>Use to assign a ContentType to the file.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>FileName</maml:name>\n          <maml:description>\n            <maml:para>Name for file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Stream</maml:name>\n          <maml:description>\n            <maml:para>Stream with the file contents</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Stream</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>The destination folder in the site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Checkout</maml:name>\n          <maml:description>\n            <maml:para>If versioning is enabled, this will check out the file first if it exists, upload the file, then check it in again.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CheckInComment</maml:name>\n          <maml:description>\n            <maml:para>The comment added to the checkin.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Approve</maml:name>\n          <maml:description>\n            <maml:para>Will auto approve the uploaded file.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ApproveComment</maml:name>\n          <maml:description>\n            <maml:para>The comment added to the approval.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Publish</maml:name>\n          <maml:description>\n            <maml:para>Will auto publish the file.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PublishComment</maml:name>\n          <maml:description>\n            <maml:para>The comment added to the publish action.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UseWebDav</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Values</maml:name>\n          <maml:description>\n            <maml:para>Use the internal names of the fields when specifying field names.\n\nSingle line of text: -Values @{\"Title\" = \"Title New\"}\n\nMultiple lines of text: -Values @{\"MultiText\" = \"New text\\n\\nMore text\"}\n\nRich text: -Values @{\"MultiText\" = \"&lt;strong&gt;New&lt;/strong&gt; text\"}\n\nChoice: -Values @{\"Choice\" = \"Value 1\"}\n\nNumber: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Currency\" = \"10\"}\n\nDate and Time: -Values @{\"DateAndTime\" = \"03/10/2015 14:16\"}\n\nLookup (id of lookup value): -Values @{\"Lookup\" = \"2\"}\n\nMulti value lookup (id of lookup values as array 1): -Values @{\"MultiLookupField\" = \"1\",\"2\"}\n\nMulti value lookup (id of lookup values as array 2): -Values @{\"MultiLookupField\" = 1,2}\n\nMulti value lookup (id of lookup values as string): -Values @{\"MultiLookupField\" = \"1,2\"}\n\nYes/No: -Values @{\"YesNo\" = $false}\n\nPerson/Group (id of user/group in Site User Info List or email of the user, seperate multiple values with a comma): -Values @{\"Person\" = \"user1@domain.com\",\"21\"}\n\nManaged Metadata (single value with path to term): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\"}\n\nManaged Metadata (single value with id of term): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\"} with Id of term\n\nManaged Metadata (multiple values with paths to terms): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\",\"CORPORATE|DEPARTMENTS|HR\"}\n\nManaged Metadata (multiple values with ids of terms): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\",\"52d88107-c2a8-4bf0-adfa-04bc2305b593\"}\n\nHyperlink or Picture: -Values @{\"Hyperlink\" = \"https://github.com/OfficeDev/, OfficePnp\"}</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>Use to assign a ContentType to the file.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Approve</maml:name>\n        <maml:description>\n          <maml:para>Will auto approve the uploaded file.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ApproveComment</maml:name>\n        <maml:description>\n          <maml:para>The comment added to the approval.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CheckInComment</maml:name>\n        <maml:description>\n          <maml:para>The comment added to the checkin.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Checkout</maml:name>\n        <maml:description>\n          <maml:para>If versioning is enabled, this will check out the file first if it exists, upload the file, then check it in again.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>Use to assign a ContentType to the file.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>FileName</maml:name>\n        <maml:description>\n          <maml:para>Name for file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>The destination folder in the site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>The local file path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Publish</maml:name>\n        <maml:description>\n          <maml:para>Will auto publish the file.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PublishComment</maml:name>\n        <maml:description>\n          <maml:para>The comment added to the publish action.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Stream</maml:name>\n        <maml:description>\n          <maml:para>Stream with the file contents</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Stream</command:parameterValue>\n        <dev:type>\n          <maml:name>Stream</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UseWebDav</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Values</maml:name>\n        <maml:description>\n          <maml:para>Use the internal names of the fields when specifying field names.\n\nSingle line of text: -Values @{\"Title\" = \"Title New\"}\n\nMultiple lines of text: -Values @{\"MultiText\" = \"New text\\n\\nMore text\"}\n\nRich text: -Values @{\"MultiText\" = \"&lt;strong&gt;New&lt;/strong&gt; text\"}\n\nChoice: -Values @{\"Choice\" = \"Value 1\"}\n\nNumber: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Currency\" = \"10\"}\n\nDate and Time: -Values @{\"DateAndTime\" = \"03/10/2015 14:16\"}\n\nLookup (id of lookup value): -Values @{\"Lookup\" = \"2\"}\n\nMulti value lookup (id of lookup values as array 1): -Values @{\"MultiLookupField\" = \"1\",\"2\"}\n\nMulti value lookup (id of lookup values as array 2): -Values @{\"MultiLookupField\" = 1,2}\n\nMulti value lookup (id of lookup values as string): -Values @{\"MultiLookupField\" = \"1,2\"}\n\nYes/No: -Values @{\"YesNo\" = $false}\n\nPerson/Group (id of user/group in Site User Info List or email of the user, seperate multiple values with a comma): -Values @{\"Person\" = \"user1@domain.com\",\"21\"}\n\nManaged Metadata (single value with path to term): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\"}\n\nManaged Metadata (single value with id of term): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\"} with Id of term\n\nManaged Metadata (multiple values with paths to terms): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\",\"CORPORATE|DEPARTMENTS|HR\"}\n\nManaged Metadata (multiple values with ids of terms): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\",\"52d88107-c2a8-4bf0-adfa-04bc2305b593\"}\n\nHyperlink or Picture: -Values @{\"Hyperlink\" = \"https://github.com/OfficeDev/, OfficePnp\"}</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.File</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFile -Path c:\\temp\\company.master -Folder \"_catalogs/masterpage\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will upload the file company.master to the masterpage catalog</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFile -Path .\\displaytemplate.html -Folder \"_catalogs/masterpage/display templates/test\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will upload the file displaytemplate.html to the test folder in the display templates folder. If the test folder does not exist it will create it.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFile -Path .\\sample.doc -Folder \"Shared Documents\" -Values @{Modified=\"1/1/2016\"}</dev:code>\n        <maml:remarks>\n          <maml:para>This will upload the file sample.doc to the Shared Documnets folder. After uploading it will set the Modified date to 1/1/2016.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFile -FileName sample.doc -Folder \"Shared Documents\" -Stream $fileStream -Values @{Modified=\"1/1/2016\"}</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a file sample.doc with the contents of the stream into the Shared Documents folder. After adding it will set the Modified date to 1/1/2016.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFile -FileName sample.doc -Folder \"Shared Documents\" -ContentType \"Document\" -Values @{Modified=\"1/1/2016\"}</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a file sample.doc to the Shared Documents folder, with a ContentType of 'Documents'. After adding it will set the Modified date to 1/1/2016.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFile -FileName sample.docx -Folder \"Documents\" -Values @{Modified=\"1/1/2016\"; Created=\"1/1/2017\"; Editor=23}</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a file sample.docx to the Documents folder and will set the Modified date to 1/1/2016, Created date to 1/1/2017 and the Modified By field to the user with ID 23. To find out about the proper user ID to relate to a specific user, use Get-PnPUser.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPFileToProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Adds a file to a PnP Provisioning Template</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPFileToProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPFileToProvisioningTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Filename of the .PNP Open XML provisioning template to read from, optionally including full path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>Source</maml:name>\n          <maml:description>\n            <maml:para>The file to add to the in-memory template, optionally including full path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"2\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>The target Folder for the file to add to the in-memory template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"3\">\n          <maml:name>Container</maml:name>\n          <maml:description>\n            <maml:para>The target Container for the file to add to the in-memory template, optional argument.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"4\">\n          <maml:name>FileLevel</maml:name>\n          <maml:description>\n            <maml:para>The level of the files to add. Defaults to Published</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FileLevel</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"4\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while loading the template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"5\">\n          <maml:name>FileOverwrite</maml:name>\n          <maml:description>\n            <maml:para>Set to overwrite in site, Defaults to true</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"3\">\n        <maml:name>Container</maml:name>\n        <maml:description>\n          <maml:para>The target Container for the file to add to the in-memory template, optional argument.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"4\">\n        <maml:name>FileLevel</maml:name>\n        <maml:description>\n          <maml:para>The level of the files to add. Defaults to Published</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">FileLevel</command:parameterValue>\n        <dev:type>\n          <maml:name>FileLevel</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"5\">\n        <maml:name>FileOverwrite</maml:name>\n        <maml:description>\n          <maml:para>Set to overwrite in site, Defaults to true</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"2\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>The target Folder for the file to add to the in-memory template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Filename of the .PNP Open XML provisioning template to read from, optionally including full path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>Source</maml:name>\n        <maml:description>\n          <maml:para>The file to add to the in-memory template, optionally including full path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"4\">\n        <maml:name>TemplateProviderExtensions</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ITemplateProviderExtension to execute while loading the template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ITemplateProviderExtension[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ITemplateProviderExtension[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFileToProvisioningTemplate -Path template.pnp -Source $sourceFilePath -Folder $targetFolder</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a file to a PnP Provisioning Template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFileToProvisioningTemplate -Path template.xml -Source $sourceFilePath -Folder $targetFolder</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a file reference to a PnP Provisioning XML Template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFileToProvisioningTemplate -Path template.pnp -Source \"./myfile.png\" -Folder \"folderinsite\" -FileLevel Published -FileOverwrite:$false</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a file to a PnP Provisioning Template, specifies the level as Published and defines to not overwrite the file if it exists in the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFileToProvisioningTemplate -Path template.pnp -Source $sourceFilePath -Folder $targetFolder -Container $container</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a file to a PnP Provisioning Template with a custom container for the file</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPFolder</command:name>\n      <maml:description>\n        <maml:para>Creates a folder within a parent folder</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPFolder</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPFolder</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The folder name</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>The parent folder in the site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>The parent folder in the site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The folder name</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPFolder -Name NewFolder -Folder _catalogs/masterpage</dev:code>\n        <maml:remarks>\n          <maml:para>This will create the folder NewFolder in the masterpage catalog</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPHtmlPublishingPageLayout</command:name>\n      <maml:description>\n        <maml:para>Adds a HTML based publishing page layout</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPHtmlPublishingPageLayout</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPHtmlPublishingPageLayout</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SourceFilePath</maml:name>\n          <maml:description>\n            <maml:para>Path to the file which will be uploaded</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Title for the page layout</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Description for the page layout</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AssociatedContentTypeID</maml:name>\n          <maml:description>\n            <maml:para>Associated content type ID</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DestinationFolderHierarchy</maml:name>\n          <maml:description>\n            <maml:para>Folder hierarchy where the HTML page layouts will be deployed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AssociatedContentTypeID</maml:name>\n        <maml:description>\n          <maml:para>Associated content type ID</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Description for the page layout</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DestinationFolderHierarchy</maml:name>\n        <maml:description>\n          <maml:para>Folder hierarchy where the HTML page layouts will be deployed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SourceFilePath</maml:name>\n        <maml:description>\n          <maml:para>Path to the file which will be uploaded</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>Title for the page layout</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPHtmlPublishingPageLayout -Title 'Our custom page layout' -SourceFilePath 'customlayout.aspx' -Description 'A custom page layout' -AssociatedContentTypeID 0x01010901</dev:code>\n        <maml:remarks>\n          <maml:para>Uploads the pagelayout 'customlayout.aspx' from the current location to the current site as a 'web part page' pagelayout</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPHubSiteAssociation</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nConnects a site to a hubsite.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPHubSiteAssociation</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Connects an existing site to a hubsite</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPHubSiteAssociation</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Site</maml:name>\n          <maml:description>\n            <maml:para>The site to connect to the hubsite</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>HubSite</maml:name>\n          <maml:description>\n            <maml:para>The hubsite to connect the site to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>HubSite</maml:name>\n        <maml:description>\n          <maml:para>The hubsite to connect the site to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>SitePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Site</maml:name>\n        <maml:description>\n          <maml:para>The site to connect to the hubsite</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>SitePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPHubSiteAssociation -Site https://tenant.sharepoint.com/sites/mysite -HubSite https://tenant.sharepoint.com/sites/hubsite</dev:code>\n        <maml:remarks>\n          <maml:para>This example adds the specified site to the hubsite.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPIndexedProperty</command:name>\n      <maml:description>\n        <maml:para>Marks the value of the propertybag key specified to be indexed by search.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPIndexedProperty</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPIndexedProperty</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para>Key of the property bag value to be indexed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para>Key of the property bag value to be indexed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPJavaScriptBlock</command:name>\n      <maml:description>\n        <maml:para>Adds a link to a JavaScript snippet/block to a web or site collection</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPJavaScriptBlock</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Specify a scope as 'Site' to add the custom action to all sites in a site collection.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPJavaScriptBlock</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the script block. Can be used to identify the script with other cmdlets or coded solutions</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Script</maml:name>\n          <maml:description>\n            <maml:para>The javascript block to add to the specified scope</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Sequence</maml:name>\n          <maml:description>\n            <maml:para>A sequence number that defines the order on the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>The scope of the script to add to. Either Web or Site, defaults to Web. 'All' is not valid for this command.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CustomActionScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the script block. Can be used to identify the script with other cmdlets or coded solutions</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>The scope of the script to add to. Either Web or Site, defaults to Web. 'All' is not valid for this command.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CustomActionScope</command:parameterValue>\n        <dev:type>\n          <maml:name>CustomActionScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Script</maml:name>\n        <maml:description>\n          <maml:para>The javascript block to add to the specified scope</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Sequence</maml:name>\n        <maml:description>\n          <maml:para>A sequence number that defines the order on the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPJavaScriptBlock -Name myAction -script '&lt;script&gt;Alert(\"This is my Script block\");&lt;/script&gt;' -Sequence 9999 -Scope Site</dev:code>\n        <maml:remarks>\n          <maml:para>Add a JavaScript code block  to all pages within the current site collection under the name myAction and at order 9999</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPJavaScriptBlock -Name myAction -script '&lt;script&gt;Alert(\"This is my Script block\");&lt;/script&gt;'</dev:code>\n        <maml:remarks>\n          <maml:para>Add a JavaScript code block  to all pages within the current web under the name myAction</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPJavaScriptLink</command:name>\n      <maml:description>\n        <maml:para>Adds a link to a JavaScript file to a web or sitecollection</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPJavaScriptLink</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Creates a custom action that refers to a JavaScript file</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPJavaScriptLink</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>Name under which to register the JavaScriptLink</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>URL to the JavaScript file to inject</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Sequence</maml:name>\n          <maml:description>\n            <maml:para>Sequence of this JavaScript being injected. Use when you have a specific sequence with which to have JavaScript files being added to the page. I.e. jQuery library first and then jQueryUI.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>Defines if this JavaScript file will be injected to every page within the current site collection or web. All is not allowed in for this command. Default is web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CustomActionScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>Name under which to register the JavaScriptLink</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>Defines if this JavaScript file will be injected to every page within the current site collection or web. All is not allowed in for this command. Default is web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CustomActionScope</command:parameterValue>\n        <dev:type>\n          <maml:name>CustomActionScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Sequence</maml:name>\n        <maml:description>\n          <maml:para>Sequence of this JavaScript being injected. Use when you have a specific sequence with which to have JavaScript files being added to the page. I.e. jQuery library first and then jQueryUI.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>URL to the JavaScript file to inject</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPJavaScriptLink -Name jQuery -Url https://code.jquery.com/jquery.min.js -Sequence 9999 -Scope Site</dev:code>\n        <maml:remarks>\n          <maml:para>Injects a reference to the latest v1 series jQuery library to all pages within the current site collection under the name jQuery and at order 9999</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPJavaScriptLink -Name jQuery -Url https://code.jquery.com/jquery.min.js</dev:code>\n        <maml:remarks>\n          <maml:para>Injects a reference to the latest v1 series jQuery library to all pages within the current web under the name jQuery</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPListFoldersToProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Adds folders to a list in a PnP Provisioning Template</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPListFoldersToProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPListFoldersToProvisioningTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Filename of the .PNP Open XML provisioning template to read from, optionally including full path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"2\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"4\">\n          <maml:name>Recursive</maml:name>\n          <maml:description>\n            <maml:para>A switch parameter to include all folders in the list, or just top level folders.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"5\">\n          <maml:name>IncludeSecurity</maml:name>\n          <maml:description>\n            <maml:para>A switch to include ObjectSecurity information.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"6\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while loading the template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"5\">\n        <maml:name>IncludeSecurity</maml:name>\n        <maml:description>\n          <maml:para>A switch to include ObjectSecurity information.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"2\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list to query</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Filename of the .PNP Open XML provisioning template to read from, optionally including full path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"4\">\n        <maml:name>Recursive</maml:name>\n        <maml:description>\n          <maml:para>A switch parameter to include all folders in the list, or just top level folders.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"6\">\n        <maml:name>TemplateProviderExtensions</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ITemplateProviderExtension to execute while loading the template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ITemplateProviderExtension[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ITemplateProviderExtension[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPListFoldersToProvisioningTemplate -Path template.pnp -List 'PnPTestList'</dev:code>\n        <maml:remarks>\n          <maml:para>Adds top level folders from a list to an existing template and returns an in-memory PnP Provisioning Template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPListFoldersToProvisioningTemplate -Path template.pnp -List 'PnPTestList' -Recursive</dev:code>\n        <maml:remarks>\n          <maml:para>Adds all folders from a list to an existing template and returns an in-memory PnP Provisioning Template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPListFoldersToProvisioningTemplate -Path template.pnp -List 'PnPTestList' -Recursive -IncludeSecurity</dev:code>\n        <maml:remarks>\n          <maml:para>Adds all folders from a list with unique permissions to an in-memory PnP Provisioning Template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPListItem</command:name>\n      <maml:description>\n        <maml:para>Adds an item to a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPListItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPListItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>Specify either the name, ID or an actual content type.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Values</maml:name>\n          <maml:description>\n            <maml:para>Use the internal names of the fields when specifying field names.\n\nSingle line of text: -Values @{\"Title\" = \"Title New\"}\n\nMultiple lines of text: -Values @{\"MultiText\" = \"New text\\n\\nMore text\"}\n\nRich text: -Values @{\"MultiText\" = \"&lt;strong&gt;New&lt;/strong&gt; text\"}\n\nChoice: -Values @{\"Choice\" = \"Value 1\"}\n\nNumber: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Currency\" = \"10\"}\n\nDate and Time: -Values @{\"DateAndTime\" = \"03/10/2015 14:16\"}\n\nLookup (id of lookup value): -Values @{\"Lookup\" = \"2\"}\n\nMulti value lookup (id of lookup values as array 1): -Values @{\"MultiLookupField\" = \"1\",\"2\"}\n\nMulti value lookup (id of lookup values as array 2): -Values @{\"MultiLookupField\" = 1,2}\n\nMulti value lookup (id of lookup values as string): -Values @{\"MultiLookupField\" = \"1,2\"}\n\nYes/No: -Values @{\"YesNo\" = $false}\n\nPerson/Group (id of user/group in Site User Info List or email of the user, seperate multiple values with a comma): -Values @{\"Person\" = \"user1@domain.com\",\"21\"}\n\nManaged Metadata (single value with path to term): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\"}\n\nManaged Metadata (single value with id of term): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\"} with Id of term\n\nManaged Metadata (multiple values with paths to terms): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\",\"CORPORATE|DEPARTMENTS|HR\"}\n\nManaged Metadata (multiple values with ids of terms): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\",\"52d88107-c2a8-4bf0-adfa-04bc2305b593\"}\n\nHyperlink or Picture: -Values @{\"Hyperlink\" = \"https://github.com/OfficeDev/, OfficePnp\"}</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>The list relative URL of a folder. E.g. \"MyFolder\" for a folder located in the root of the list, or \"MyFolder/SubFolder\" for a folder located in the MyFolder folder which is located in the root of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>Specify either the name, ID or an actual content type.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>The list relative URL of a folder. E.g. \"MyFolder\" for a folder located in the root of the list, or \"MyFolder/SubFolder\" for a folder located in the MyFolder folder which is located in the root of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Values</maml:name>\n        <maml:description>\n          <maml:para>Use the internal names of the fields when specifying field names.\n\nSingle line of text: -Values @{\"Title\" = \"Title New\"}\n\nMultiple lines of text: -Values @{\"MultiText\" = \"New text\\n\\nMore text\"}\n\nRich text: -Values @{\"MultiText\" = \"&lt;strong&gt;New&lt;/strong&gt; text\"}\n\nChoice: -Values @{\"Choice\" = \"Value 1\"}\n\nNumber: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Number\" = \"10\"}\n\nCurrency: -Values @{\"Currency\" = \"10\"}\n\nDate and Time: -Values @{\"DateAndTime\" = \"03/10/2015 14:16\"}\n\nLookup (id of lookup value): -Values @{\"Lookup\" = \"2\"}\n\nMulti value lookup (id of lookup values as array 1): -Values @{\"MultiLookupField\" = \"1\",\"2\"}\n\nMulti value lookup (id of lookup values as array 2): -Values @{\"MultiLookupField\" = 1,2}\n\nMulti value lookup (id of lookup values as string): -Values @{\"MultiLookupField\" = \"1,2\"}\n\nYes/No: -Values @{\"YesNo\" = $false}\n\nPerson/Group (id of user/group in Site User Info List or email of the user, seperate multiple values with a comma): -Values @{\"Person\" = \"user1@domain.com\",\"21\"}\n\nManaged Metadata (single value with path to term): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\"}\n\nManaged Metadata (single value with id of term): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\"} with Id of term\n\nManaged Metadata (multiple values with paths to terms): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\",\"CORPORATE|DEPARTMENTS|HR\"}\n\nManaged Metadata (multiple values with ids of terms): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\",\"52d88107-c2a8-4bf0-adfa-04bc2305b593\"}\n\nHyperlink or Picture: -Values @{\"Hyperlink\" = \"https://github.com/OfficeDev/, OfficePnp\"}</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.ListItem</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Add-PnPListItem -List \"Demo List\" -Values @{\"Title\" = \"Test Title\"; \"Category\"=\"Test Category\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new list item to the \"Demo List\", and sets both the Title and Category fields with the specified values. Notice, use the internal names of fields.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Add-PnPListItem -List \"Demo List\" -ContentType \"Company\" -Values @{\"Title\" = \"Test Title\"; \"Category\"=\"Test Category\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new list item to the \"Demo List\", sets the content type to \"Company\" and sets both the Title and Category fields with the specified values. Notice, use the internal names of fields.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Add-PnPListItem -List \"Demo List\" -Values @{\"MultiUserField\"=\"user1@domain.com\",\"user2@domain.com\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new list item to the \"Demo List\" and sets the user field called MultiUserField to 2 users. Separate multiple users with a comma.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Add-PnPListItem -List \"Demo List\" -Values @{\"Title\"=\"Sales Report\"} -Folder \"projects/europe\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new list item to the \"Demo List\". It will add the list item to the europe folder which is located in the projects folder. Folders will be created if needed.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPMasterPage</command:name>\n      <maml:description>\n        <maml:para>Adds a Masterpage</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPMasterPage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPMasterPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SourceFilePath</maml:name>\n          <maml:description>\n            <maml:para>Path to the file which will be uploaded</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Title for the Masterpage</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Description for the Masterpage</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DestinationFolderHierarchy</maml:name>\n          <maml:description>\n            <maml:para>Folder hierarchy where the MasterPage will be deployed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UIVersion</maml:name>\n          <maml:description>\n            <maml:para>UIVersion of the Masterpage. Default = 15</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DefaultCssFile</maml:name>\n          <maml:description>\n            <maml:para>Default CSS file for the MasterPage, this Url is SiteRelative</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DefaultCssFile</maml:name>\n        <maml:description>\n          <maml:para>Default CSS file for the MasterPage, this Url is SiteRelative</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Description for the Masterpage</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DestinationFolderHierarchy</maml:name>\n        <maml:description>\n          <maml:para>Folder hierarchy where the MasterPage will be deployed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SourceFilePath</maml:name>\n        <maml:description>\n          <maml:para>Path to the file which will be uploaded</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>Title for the Masterpage</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UIVersion</maml:name>\n        <maml:description>\n          <maml:para>UIVersion of the Masterpage. Default = 15</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.File</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPMasterPage -SourceFilePath \"page.master\" -Title \"MasterPage\" -Description \"MasterPage for Web\" -DestinationFolderHierarchy \"SubFolder\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a MasterPage from the local file \"page.master\" to the folder \"SubFolder\" in the Masterpage gallery.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPNavigationNode</command:name>\n      <maml:description>\n        <maml:para>Adds an item to a navigation element</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPNavigationNode</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Adds a menu item to either the quicklaunch or top navigation</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPNavigationNode</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Location</maml:name>\n          <maml:description>\n            <maml:para>The location of the node to add. Either TopNavigationBar, QuickLaunch, SearchNav</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">NavigationType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the node to add</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The url to navigate to when clicking the new menu item. This can either be absolute or relative to the Web. Fragments are not supported.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Header</maml:name>\n          <maml:description>\n            <maml:para>Optionally value of a header entry to add the menu item to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>First</maml:name>\n          <maml:description>\n            <maml:para>Add the new menu item to beginning of the collection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>External</maml:name>\n          <maml:description>\n            <maml:para>Indicates the destination URL is outside of the site collection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>External</maml:name>\n        <maml:description>\n          <maml:para>Indicates the destination URL is outside of the site collection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>First</maml:name>\n        <maml:description>\n          <maml:para>Add the new menu item to beginning of the collection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Header</maml:name>\n        <maml:description>\n          <maml:para>Optionally value of a header entry to add the menu item to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Location</maml:name>\n        <maml:description>\n          <maml:para>The location of the node to add. Either TopNavigationBar, QuickLaunch, SearchNav</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">NavigationType</command:parameterValue>\n        <dev:type>\n          <maml:name>NavigationType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the node to add</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The url to navigate to when clicking the new menu item. This can either be absolute or relative to the Web. Fragments are not supported.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.NavigationNode</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPNavigationNode -Title \"Contoso\" -Url \"http://contoso.sharepoint.com/sites/contoso/\" -Location \"QuickLaunch\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a navigation node to the quicklaunch. The navigation node will have the title \"Contoso\" and will link to the url \"http://contoso.sharepoint.com/sites/contoso/\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPNavigationNode -Title \"Contoso USA\" -Url \"http://contoso.sharepoint.com/sites/contoso/usa/\" -Location \"QuickLaunch\" -Header \"Contoso\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a navigation node to the quicklaunch. The navigation node will have the title \"Contoso USA\", will link to the url \"http://contoso.sharepoint.com/sites/contoso/usa/\" and will have \"Contoso\" as a parent navigation node.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPNavigationNode -Title \"Contoso\" -Url \"http://contoso.sharepoint.com/sites/contoso/\" -Location \"QuickLaunch\" -First</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a navigation node to the quicklaunch, as the first item. The navigation node will have the title \"Contoso\" and will link to the url \"http://contoso.sharepoint.com/sites/contoso/\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPNavigationNode -Title \"Contoso Pharmaceuticals\" -Url \"http://contoso.sharepoint.com/sites/contosopharma/\" -Location \"QuickLaunch\" -External</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a navigation node to the quicklaunch. The navigation node will have the title \"Contoso Pharmaceuticals\" and will link to the external url \"http://contoso.sharepoint.com/sites/contosopharma/\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPNavigationNode -Title \"Wiki\" -Location \"QuickLaunch\" -Url \"wiki/\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a navigation node to the quicklaunch. The navigation node will have the title \"Wiki\" and will link to Wiki library on the selected Web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Test-PnPOffice365GroupAliasIsUsed</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nTests if a given alias is already used used</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Test</command:verb>\n      <command:noun>PnPOffice365GroupAliasIsUsed</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command allows you to test if a provided alias is used or free, helps decide if it can be used as part of connecting an Office 365 Unified group to an existing classic site collection.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Test-PnPOffice365GroupAliasIsUsed</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Alias</maml:name>\n          <maml:description>\n            <maml:para>Specifies the alias of the group. Cannot contain spaces.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Alias</maml:name>\n        <maml:description>\n          <maml:para>Specifies the alias of the group. Cannot contain spaces.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Test-PnPOffice365GroupAliasIsUsed -Alias \"MyGroup\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will test if the alias MyGroup is already used</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPOffice365GroupToSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nGroupifies a classic team site by creating an Office 365 group for it and connecting the site with the newly created group</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPOffice365GroupToSite</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command allows you to add an Office 365 Unified group to an existing classic site collection.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPOffice365GroupToSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Url of the site to be connected to an Office 365 Group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Alias</maml:name>\n          <maml:description>\n            <maml:para>Specifies the alias of the group. Cannot contain spaces.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DisplayName</maml:name>\n          <maml:description>\n            <maml:para>The display name of the group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The optional description of the group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Classification</maml:name>\n          <maml:description>\n            <maml:para>Specifies the classification of the group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IsPublic</maml:name>\n          <maml:description>\n            <maml:para>Specifies if the group is public. Defaults to false.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>KeepOldHomePage</maml:name>\n          <maml:description>\n            <maml:para>Specifies if the current site home page is kept. Defaults to false.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Alias</maml:name>\n        <maml:description>\n          <maml:para>Specifies the alias of the group. Cannot contain spaces.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Classification</maml:name>\n        <maml:description>\n          <maml:para>Specifies the classification of the group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The optional description of the group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DisplayName</maml:name>\n        <maml:description>\n          <maml:para>The display name of the group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IsPublic</maml:name>\n        <maml:description>\n          <maml:para>Specifies if the group is public. Defaults to false.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>KeepOldHomePage</maml:name>\n        <maml:description>\n          <maml:para>Specifies if the current site home page is kept. Defaults to false.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>Url of the site to be connected to an Office 365 Group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPOffice365GroupToSite -Url \"https://contoso.sharepoint.com/sites/FinanceTeamsite\" -Alias \"FinanceTeamsite\" -DisplayName = \"My finance team site group\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a group called MyGroup to the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPPublishingImageRendition</command:name>\n      <maml:description>\n        <maml:para>Adds an Image Rendition if the Name of the Image Rendition does not already exist. This prevents creating two Image Renditions that share the same name.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPPublishingImageRendition</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPPublishingImageRendition</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The display name of the Image Rendition.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Width</maml:name>\n          <maml:description>\n            <maml:para>The width of the Image Rendition.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Height</maml:name>\n          <maml:description>\n            <maml:para>The height of the Image Rendition.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Height</maml:name>\n        <maml:description>\n          <maml:para>The height of the Image Rendition.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The display name of the Image Rendition.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Width</maml:name>\n        <maml:description>\n          <maml:para>The width of the Image Rendition.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPPublishingImageRendition -Name \"MyImageRendition\" -Width 800 -Height 600</dev:code>\n        <maml:remarks>\n          <maml:para />\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPPublishingPage</command:name>\n      <maml:description>\n        <maml:para>Adds a publishing page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPPublishingPage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPPublishingPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PageName</maml:name>\n          <maml:description>\n            <maml:para>The name of the page to be added as an aspx file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PageTemplateName</maml:name>\n          <maml:description>\n            <maml:para>The name of the page layout you want to use. Specify without the .aspx extension. So 'ArticleLeft' or 'BlankWebPartPage'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FolderPath</maml:name>\n          <maml:description>\n            <maml:para>The site relative folder path of the page to be added</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Publish</maml:name>\n          <maml:description>\n            <maml:para>Publishes the page. Also Approves it if moderation is enabled on the Pages library.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>FolderPath</maml:name>\n        <maml:description>\n          <maml:para>The site relative folder path of the page to be added</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PageName</maml:name>\n        <maml:description>\n          <maml:para>The name of the page to be added as an aspx file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PageTemplateName</maml:name>\n        <maml:description>\n          <maml:para>The name of the page layout you want to use. Specify without the .aspx extension. So 'ArticleLeft' or 'BlankWebPartPage'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Publish</maml:name>\n        <maml:description>\n          <maml:para>Publishes the page. Also Approves it if moderation is enabled on the Pages library.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPPublishingPage -PageName 'OurNewPage' -Title 'Our new page' -PageTemplateName 'ArticleLeft'</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new page based on the pagelayout 'ArticleLeft'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPPublishingPage -PageName 'OurNewPage' -Title 'Our new page' -PageTemplateName 'ArticleLeft' -Folder '/Pages/folder'</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new page based on the pagelayout 'ArticleLeft' with a site relative folder path</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPPublishingPageLayout</command:name>\n      <maml:description>\n        <maml:para>Adds a publishing page layout</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPPublishingPageLayout</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPPublishingPageLayout</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SourceFilePath</maml:name>\n          <maml:description>\n            <maml:para>Path to the file which will be uploaded</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Title for the page layout</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Description for the page layout</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AssociatedContentTypeID</maml:name>\n          <maml:description>\n            <maml:para>Associated content type ID</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DestinationFolderHierarchy</maml:name>\n          <maml:description>\n            <maml:para>Folder hierarchy where the html page layouts will be deployed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AssociatedContentTypeID</maml:name>\n        <maml:description>\n          <maml:para>Associated content type ID</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Description for the page layout</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DestinationFolderHierarchy</maml:name>\n        <maml:description>\n          <maml:para>Folder hierarchy where the html page layouts will be deployed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SourceFilePath</maml:name>\n        <maml:description>\n          <maml:para>Path to the file which will be uploaded</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>Title for the page layout</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPPublishingPageLayout -Title 'Our custom page layout' -SourceFilePath 'customlayout.aspx' -Description 'A custom page layout' -AssociatedContentTypeID 0x01010901</dev:code>\n        <maml:remarks>\n          <maml:para>Uploads the pagelayout 'customlayout.aspx' to the current site as a 'web part page' pagelayout</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPRoleDefinition</command:name>\n      <maml:description>\n        <maml:para>Adds a Role Defintion (Permission Level) to the site collection in the current context</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPRoleDefinition</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command allows adding a custom Role Defintion (Permission Level) to the site collection in the current context. It does not replace or remove existing Role Definitions.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPRoleDefinition</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>RoleName</maml:name>\n          <maml:description>\n            <maml:para>Name of new permission level.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Clone</maml:name>\n          <maml:description>\n            <maml:para>An existing permission level or the name of an permission level to clone as base template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">RoleDefinitionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Include</maml:name>\n          <maml:description>\n            <maml:para>Specifies permission flags(s) to enable.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">PermissionKind[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Exclude</maml:name>\n          <maml:description>\n            <maml:para>Specifies permission flags(s) to disable.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">PermissionKind[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Optional description for the new permission level.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Clone</maml:name>\n        <maml:description>\n          <maml:para>An existing permission level or the name of an permission level to clone as base template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">RoleDefinitionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>RoleDefinitionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Optional description for the new permission level.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Exclude</maml:name>\n        <maml:description>\n          <maml:para>Specifies permission flags(s) to disable.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">PermissionKind[]</command:parameterValue>\n        <dev:type>\n          <maml:name>PermissionKind[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Include</maml:name>\n        <maml:description>\n          <maml:para>Specifies permission flags(s) to enable.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">PermissionKind[]</command:parameterValue>\n        <dev:type>\n          <maml:name>PermissionKind[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>RoleName</maml:name>\n        <maml:description>\n          <maml:para>Name of new permission level.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPRoleDefinition -RoleName \"CustomPerm\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates additional permission level with no permission flags enabled.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPRoleDefinition -RoleName \"NoDelete\" -Clone \"Contribute\" -Exclude DeleteListItems</dev:code>\n        <maml:remarks>\n          <maml:para>Creates additional permission level by cloning \"Contribute\" and removes flags DeleteListItems</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPRoleDefinition -RoleName \"AddOnly\" -Clone \"Contribute\" -Exclude DeleteListItems, EditListItems</dev:code>\n        <maml:remarks>\n          <maml:para>Creates additional permission level by cloning \"Contribute\" and removes flags DeleteListItems and EditListItems</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS&gt; $roleDefinition = Get-PnPRoleDefinition -Identity \"Contribute\"\nPS:&gt; Add-PnPRoleDefinition -RoleName \"AddOnly\" -Clone $roleDefinition -Exclude DeleteListItems, EditListItems</dev:code>\n        <maml:remarks>\n          <maml:para>Creates additional permission level by cloning \"Contribute\" and removes flags DeleteListItems and EditListItems</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPSiteClassification</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdds one ore more site classification values to the list of possible values. Requires a connection to the Microsoft Graph.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPSiteClassification</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPSiteClassification</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Classifications</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Classifications</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Add-PnPSiteClassification -Classifications \"Top Secret\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds the \"Top Secret\" classification to the already existing classification values.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Add-PnPSiteClassification -Classifications \"Top Secret\",\"HBI\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds the \"Top Secret\" and the \"For Your Eyes Only\" classification to the already existing classification values.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPSiteCollectionAdmin</command:name>\n      <maml:description>\n        <maml:para>Adds one or more users as site collection administrators to the site collection in the current context</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPSiteCollectionAdmin</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command allows adding one to many users as site collection administrators to the site collection in the current context. It does not replace or remove exisitng site collection administrators.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPSiteCollectionAdmin</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Owners</maml:name>\n          <maml:description>\n            <maml:para>Specifies owner(s) to add as site collection adminstrators. They will be added as additional site collection administrators to the site in the current context. Existing administrators will stay. Can be both users and groups.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UserPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Owners</maml:name>\n        <maml:description>\n          <maml:para>Specifies owner(s) to add as site collection adminstrators. They will be added as additional site collection administrators to the site in the current context. Existing administrators will stay. Can be both users and groups.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">UserPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UserPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPSiteCollectionAdmin -Owners \"user@contoso.onmicrosoft.com\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will add user@contoso.onmicrosoft.com as an additional site collection owner to the site collection in the current context</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPSiteCollectionAdmin -Owners @(\"user1@contoso.onmicrosoft.com\", \"user2@contoso.onmicrosoft.com\")</dev:code>\n        <maml:remarks>\n          <maml:para>This will add user1@contoso.onmicrosoft.com and user2@contoso.onmicrosoft.com as additional site collection owners to the site collection in the current context</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUser | ? Title -Like \"*Doe\" | Add-PnPSiteCollectionAdmin</dev:code>\n        <maml:remarks>\n          <maml:para>This will add all users with their title ending with \"Doe\" as additional site collection owners to the site collection in the current context</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPSiteCollectionAppCatalog</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdds a Site Collection scoped App Catalog to a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPSiteCollectionAppCatalog</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPSiteCollectionAppCatalog</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Site</maml:name>\n          <maml:description>\n            <maml:para>Url of the site to add the app catalog to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Site</maml:name>\n        <maml:description>\n          <maml:para>Url of the site to add the app catalog to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>SitePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPOffice365GroupToSite -Site \"https://contoso.sharepoint.com/sites/FinanceTeamsite\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a SiteCollection app catalog to the specified site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPSiteDesign</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nCreates a new Site Design on the current tenant.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPSiteDesign</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPSiteDesign</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the site design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SiteScriptIds</maml:name>\n          <maml:description>\n            <maml:para>An array of guids of site scripts</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>WebTemplate</maml:name>\n          <maml:description>\n            <maml:para>Specifies the type of site to which this design applies</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SiteWebTemplate</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The description of the site design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IsDefault</maml:name>\n          <maml:description>\n            <maml:para>Specifies if the site design is a default site design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PreviewImageAltText</maml:name>\n          <maml:description>\n            <maml:para>Sets the text for the preview image</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PreviewImageUrl</maml:name>\n          <maml:description>\n            <maml:para>Sets the url to the preview image</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The description of the site design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IsDefault</maml:name>\n        <maml:description>\n          <maml:para>Specifies if the site design is a default site design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PreviewImageAltText</maml:name>\n        <maml:description>\n          <maml:para>Sets the text for the preview image</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PreviewImageUrl</maml:name>\n        <maml:description>\n          <maml:para>Sets the url to the preview image</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SiteScriptIds</maml:name>\n        <maml:description>\n          <maml:para>An array of guids of site scripts</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind[]</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the site design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>WebTemplate</maml:name>\n        <maml:description>\n          <maml:para>Specifies the type of site to which this design applies</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SiteWebTemplate</command:parameterValue>\n        <dev:type>\n          <maml:name>SiteWebTemplate</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPSiteDesign -Title \"My Company Design\" -SiteScriptIds \"e84dcb46-3ab9-4456-a136-66fc6ae3d3c5\",\"6def687f-0e08-4f1e-999c-791f3af9a600\" -Description \"My description\" -WebTemplate TeamSite</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new Site Design, with the specified title and description. When applied it will run the scripts as referenced by the IDs. Use Get-PnPSiteScript to receive Site Scripts. The WebTemplate parameter specifies that this design applies to Team Sites.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPSiteScript</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nCreates a new Site Script on the current tenant.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPSiteScript</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPSiteScript</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the site script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Content</maml:name>\n          <maml:description>\n            <maml:para>A JSON string containing the site script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The description of the site script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Content</maml:name>\n        <maml:description>\n          <maml:para>A JSON string containing the site script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The description of the site script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the site script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPSiteScript -Title \"My Site Script\" -Description \"A more detailed description\" -Content $script</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new Site Script, where $script variable contains the script.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPStoredCredential</command:name>\n      <maml:description>\n        <maml:para>Adds a credential to the Windows Credential Manager</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPStoredCredential</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Adds an entry to the Windows Credential Manager. If you add an entry in the form of the URL of your tenant/server PnP PowerShell will check if that entry is available when you connect using Connect-PnPOnline. If it finds a matching URL it will use the associated credentials.\n\nIf you add a Credential with a name of \"https://yourtenant.sharepoint.com\" it will find a match when you connect to \"https://yourtenant.sharepoint.com\" but also when you connect to \"https://yourtenant.sharepoint.com/sites/demo1\". Of course you can specify more granular entries, allow you to automatically provide credentials for different URLs.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPStoredCredential</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The credential to set</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Username</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Password</maml:name>\n          <maml:description>\n            <maml:para>If not specified you will be prompted to enter your password. \nIf you want to specify this value use ConvertTo-SecureString -String 'YourPassword' -AsPlainText -Force</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SecureString</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The credential to set</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Password</maml:name>\n        <maml:description>\n          <maml:para>If not specified you will be prompted to enter your password. \nIf you want to specify this value use ConvertTo-SecureString -String 'YourPassword' -AsPlainText -Force</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SecureString</command:parameterValue>\n        <dev:type>\n          <maml:name>SecureString</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Username</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPStoredCredential -Name https://tenant.sharepoint.com -Username yourname@tenant.onmicrosoft.com</dev:code>\n        <maml:remarks>\n          <maml:para>You will be prompted to specify the password and a new entry will be added with the specified values</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPStoredCredential -Name https://tenant.sharepoint.com -Username yourname@tenant.onmicrosoft.com -Password (ConvertTo-SecureString -String \"YourPassword\" -AsPlainText -Force)</dev:code>\n        <maml:remarks>\n          <maml:para>A new entry will be added with the specified values</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPStoredCredential -Name https://tenant.sharepoint.com -Username yourname@tenant.onmicrosoft.com -Password (ConvertTo-SecureString -String \"YourPassword\" -AsPlainText -Force)\nConnect-PnPOnline -Url https://tenant.sharepoint.com/sites/mydemosite</dev:code>\n        <maml:remarks>\n          <maml:para>A new entry will be added with the specified values, and a subsequent connection to a sitecollection starting with the entry name will be made. Notice that no password prompt will occur.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPTaxonomyField</command:name>\n      <maml:description>\n        <maml:para>Add a taxonomy field</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPTaxonomyField</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Adds a taxonomy/managed metadata field to a list or as a site column.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPTaxonomyField</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DisplayName</maml:name>\n          <maml:description>\n            <maml:para>The display name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InternalName</maml:name>\n          <maml:description>\n            <maml:para>The internal name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TaxonomyItemId</maml:name>\n          <maml:description>\n            <maml:para>The ID of the Taxonomy item</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object or name where this field needs to be added</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para>The group name to where this field belongs to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Id</maml:name>\n          <maml:description>\n            <maml:para>The ID for the field, must be unique</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddToDefaultView</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if this field must be added to the default view</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MultiValue</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if this Taxonomy field can hold multiple values</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Required</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if the field is a required field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FieldOptions</maml:name>\n          <maml:description>\n            <maml:para>Specifies the control settings while adding a field. See https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.addfieldoptions.aspx for details</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AddFieldOptions</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPTaxonomyField</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermSetPath</maml:name>\n          <maml:description>\n            <maml:para>The path to the term that this needs be be bound</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DisplayName</maml:name>\n          <maml:description>\n            <maml:para>The display name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InternalName</maml:name>\n          <maml:description>\n            <maml:para>The internal name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermPathDelimiter</maml:name>\n          <maml:description>\n            <maml:para>The path delimiter to be used, by default this is '|'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object or name where this field needs to be added</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para>The group name to where this field belongs to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Id</maml:name>\n          <maml:description>\n            <maml:para>The ID for the field, must be unique</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddToDefaultView</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if this field must be added to the default view</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MultiValue</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if this Taxonomy field can hold multiple values</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Required</maml:name>\n          <maml:description>\n            <maml:para>Switch Parameter if the field is a required field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FieldOptions</maml:name>\n          <maml:description>\n            <maml:para>Specifies the control settings while adding a field. See https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.addfieldoptions.aspx for details</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AddFieldOptions</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AddToDefaultView</maml:name>\n        <maml:description>\n          <maml:para>Switch Parameter if this field must be added to the default view</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DisplayName</maml:name>\n        <maml:description>\n          <maml:para>The display name of the field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>FieldOptions</maml:name>\n        <maml:description>\n          <maml:para>Specifies the control settings while adding a field. See https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.addfieldoptions.aspx for details</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">AddFieldOptions</command:parameterValue>\n        <dev:type>\n          <maml:name>AddFieldOptions</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Group</maml:name>\n        <maml:description>\n          <maml:para>The group name to where this field belongs to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Id</maml:name>\n        <maml:description>\n          <maml:para>The ID for the field, must be unique</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>InternalName</maml:name>\n        <maml:description>\n          <maml:para>The internal name of the field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object or name where this field needs to be added</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MultiValue</maml:name>\n        <maml:description>\n          <maml:para>Switch Parameter if this Taxonomy field can hold multiple values</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Required</maml:name>\n        <maml:description>\n          <maml:para>Switch Parameter if the field is a required field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TaxonomyItemId</maml:name>\n        <maml:description>\n          <maml:para>The ID of the Taxonomy item</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermPathDelimiter</maml:name>\n        <maml:description>\n          <maml:para>The path delimiter to be used, by default this is '|'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermSetPath</maml:name>\n        <maml:description>\n          <maml:para>The path to the term that this needs be be bound</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Field</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPTaxonomyField -DisplayName \"Test\" -InternalName \"Test\" -TermSetPath \"TestTermGroup|TestTermSet\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new taxonomy field called \"Test\" that points to the TestTermSet which is located in the TestTermGroup</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPTenantCdnOrigin</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdds a new origin to the public or private content delivery network (CDN).</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPTenantCdnOrigin</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Add a new origin to the public or private CDN, on either Tenant level or on a single Site level. Effectively, a tenant admin points out to a document library, or a folder in the document library and requests that content in that library should be retrievable by using a CDN.\n\nYou must be a SharePoint Online global administrator and a site collection administrator to run the cmdlet.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPTenantCdnOrigin</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>OriginUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies a path to the doc library to be configured. It can be provided in two ways: relative path, or a mask.\n\nRelative-Relative path depends on the OriginScope. If the originScope is Tenant, a path must be a relative path under the tenant root. If the originScope is Site, a path must be a relative path under the given Site. The path must point to the valid Document Library or a folder with a document library.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CdnType</maml:name>\n          <maml:description>\n            <maml:para>Specifies the CDN type. The valid values are: public or private.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CdnType</maml:name>\n        <maml:description>\n          <maml:para>Specifies the CDN type. The valid values are: public or private.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOTenantCdnType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>OriginUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies a path to the doc library to be configured. It can be provided in two ways: relative path, or a mask.\n\nRelative-Relative path depends on the OriginScope. If the originScope is Tenant, a path must be a relative path under the tenant root. If the originScope is Site, a path must be a relative path under the given Site. The path must point to the valid Document Library or a folder with a document library.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPTenantCdnOrigin -Url /sites/site/subfolder -CdnType Public</dev:code>\n        <maml:remarks>\n          <maml:para>This example configures a public CDN on site level.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPTenantTheme</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdds or updates a theme to the tenant.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPTenantTheme</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Adds or updates atheme to the tenant.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPTenantTheme</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The name of the theme to add or update</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ThemePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Palette</maml:name>\n          <maml:description>\n            <maml:para>The palette to add. See examples for more information.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ThemePalettePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>IsInverted</maml:name>\n          <maml:description>\n            <maml:para>If the theme is inverted or not</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The name of the theme to add or update</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ThemePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ThemePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>IsInverted</maml:name>\n        <maml:description>\n          <maml:para>If the theme is inverted or not</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Palette</maml:name>\n        <maml:description>\n          <maml:para>The palette to add. See examples for more information.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ThemePalettePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ThemePalettePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $themepalette = @{\n  \"themePrimary\" = \"#00ffff\";\n  \"themeLighterAlt\" = \"#f3fcfc\";\n  \"themeLighter\" = \"#daffff\";\n  \"themeLight\" = \"#affefe\";\n  \"themeTertiary\" = \"#76ffff\";\n  \"themeSecondary\" = \"#39ffff\";\n  \"themeDarkAlt\" = \"#00c4c4\";\n  \"themeDark\" = \"#009090\";\n  \"themeDarker\" = \"#005252\";\n  \"neutralLighterAlt\" = \"#f8f8f8\";\n  \"neutralLighter\" = \"#f4f4f4\";\n  \"neutralLight\" = \"#eaeaea\";\n  \"neutralQuaternaryAlt\" = \"#dadada\";\n  \"neutralQuaternary\" = \"#d0d0d0\";\n  \"neutralTertiaryAlt\" = \"#c8c8c8\";\n  \"neutralTertiary\" = \"#a6a6a6\";\n  \"neutralSecondaryAlt\" = \"#767676\";\n  \"neutralSecondary\" = \"#666666\";\n  \"neutralPrimary\" = \"#333\";\n  \"neutralPrimaryAlt\" = \"#3c3c3c\";\n  \"neutralDark\" = \"#212121\";\n  \"black\" = \"#000000\";\n  \"white\" = \"#fff\";\n  \"primaryBackground\" = \"#fff\";\n  \"primaryText\" = \"#333\"\n }\nPS:&gt;Add-PnPTenantTheme -Identity \"MyCompanyTheme\" -Palette $themepalette -IsInverted $false</dev:code>\n        <maml:remarks>\n          <maml:para>This example adds a theme to the current tenant.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPUserToGroup</command:name>\n      <maml:description>\n        <maml:para>Adds a user to a group</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPUserToGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPUserToGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>LoginName</maml:name>\n          <maml:description>\n            <maml:para>The login name of the user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The group id, group name or group object to add the user to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPUserToGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The group id, group name or group object to add the user to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>EmailAddress</maml:name>\n          <maml:description>\n            <maml:para>The email address of the user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SendEmail</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EmailBody</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>EmailAddress</maml:name>\n        <maml:description>\n          <maml:para>The email address of the user</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EmailBody</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The group id, group name or group object to add the user to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>LoginName</maml:name>\n        <maml:description>\n          <maml:para>The login name of the user</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SendEmail</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPUserToGroup -LoginName user@company.com -Identity 'Marketing Site Members'</dev:code>\n        <maml:remarks>\n          <maml:para>Add the specified user to the group \"Marketing Site Members\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPUserToGroup -LoginName user@company.com -Identity 5</dev:code>\n        <maml:remarks>\n          <maml:para>Add the specified user to the group with Id 5</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPView</command:name>\n      <maml:description>\n        <maml:para>Adds a view to a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPView</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPView</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the view.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Fields</maml:name>\n          <maml:description>\n            <maml:para>A list of fields to add.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Query</maml:name>\n          <maml:description>\n            <maml:para>A valid CAML Query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ViewType</maml:name>\n          <maml:description>\n            <maml:para>The type of view to add.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ViewType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RowLimit</maml:name>\n          <maml:description>\n            <maml:para>The row limit for the view. Defaults to 30.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Personal</maml:name>\n          <maml:description>\n            <maml:para>If specified, a personal view will be created.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SetAsDefault</maml:name>\n          <maml:description>\n            <maml:para>If specified, the view will be set as the default view for the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Paged</maml:name>\n          <maml:description>\n            <maml:para>If specified, the view will have paging.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Fields</maml:name>\n        <maml:description>\n          <maml:para>A list of fields to add.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Paged</maml:name>\n        <maml:description>\n          <maml:para>If specified, the view will have paging.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Personal</maml:name>\n        <maml:description>\n          <maml:para>If specified, a personal view will be created.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Query</maml:name>\n        <maml:description>\n          <maml:para>A valid CAML Query.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RowLimit</maml:name>\n        <maml:description>\n          <maml:para>The row limit for the view. Defaults to 30.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SetAsDefault</maml:name>\n        <maml:description>\n          <maml:para>If specified, the view will be set as the default view for the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the view.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ViewType</maml:name>\n        <maml:description>\n          <maml:para>The type of view to add.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ViewType</command:parameterValue>\n        <dev:type>\n          <maml:name>ViewType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.View</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Add-PnPView -List \"Demo List\" -Title \"Demo View\" -Fields \"Title\",\"Address\"</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a view named \"Demo view\" to the \"Demo List\" list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Add-PnPView -List \"Demo List\" -Title \"Demo View\" -Fields \"Title\",\"Address\" -Paged</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a view named \"Demo view\" to the \"Demo List\" list and makes sure there's paging on this view.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPWebhookSubscription</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nAdds a new Webhook subscription</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPWebhookSubscription</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPWebhookSubscription</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>NotificationUrl</maml:name>\n          <maml:description>\n            <maml:para>The URL of the Webhook endpoint that will be notified of the change</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object or name where the Webhook subscription will be added to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExpirationDate</maml:name>\n          <maml:description>\n            <maml:para>The date at which the Webhook subscription will expire. (Default: 6 months from today)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DateTime</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClientState</maml:name>\n          <maml:description>\n            <maml:para>A client state information that will be passed through notifications</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ClientState</maml:name>\n        <maml:description>\n          <maml:para>A client state information that will be passed through notifications</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ExpirationDate</maml:name>\n        <maml:description>\n          <maml:para>The date at which the Webhook subscription will expire. (Default: 6 months from today)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">DateTime</command:parameterValue>\n        <dev:type>\n          <maml:name>DateTime</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object or name where the Webhook subscription will be added to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>NotificationUrl</maml:name>\n        <maml:description>\n          <maml:para>The URL of the Webhook endpoint that will be notified of the change</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>OfficeDevPnP.Core.Entities.WebhookSubscription</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWebhookSubscription -List MyList -NotificationUrl https://my-func.azurewebsites.net/webhook</dev:code>\n        <maml:remarks>\n          <maml:para>Add a Webhook subscription for the specified notification Url on the list MyList</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWebhookSubscription -List MyList -NotificationUrl https://my-func.azurewebsites.net/webhook -ExpirationDate \"2017-09-01\"</dev:code>\n        <maml:remarks>\n          <maml:para>Add a Webhook subscription for the specified notification Url on the list MyList with an expiration date set on September 1st, 2017</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWebhookSubscription -List MyList -NotificationUrl https://my-func.azurewebsites.net/webhook -ExpirationDate \"2017-09-01\" -ClientState \"Hello State!\"</dev:code>\n        <maml:remarks>\n          <maml:para>Add a Webhook subscription for the specified notification Url on the list MyList with an expiration date set on September 1st, 2017 with a specific client state</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPWebPartToWebPartPage</command:name>\n      <maml:description>\n        <maml:para>Adds a webpart to a web part page in a specified zone</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPWebPartToWebPartPage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPWebPartToWebPartPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Xml</maml:name>\n          <maml:description>\n            <maml:para>A string containing the XML for the webpart.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Server Relative Url of the page to add the webpart to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ZoneId</maml:name>\n          <maml:description>\n            <maml:para>The Zone Id where the webpart must be placed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ZoneIndex</maml:name>\n          <maml:description>\n            <maml:para>The Zone Index where the webpart must be placed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPWebPartToWebPartPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>A path to a webpart file on a the file system.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Server Relative Url of the page to add the webpart to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ZoneId</maml:name>\n          <maml:description>\n            <maml:para>The Zone Id where the webpart must be placed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ZoneIndex</maml:name>\n          <maml:description>\n            <maml:para>The Zone Index where the webpart must be placed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>A path to a webpart file on a the file system.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>Server Relative Url of the page to add the webpart to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Xml</maml:name>\n        <maml:description>\n          <maml:para>A string containing the XML for the webpart.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ZoneId</maml:name>\n        <maml:description>\n          <maml:para>The Zone Id where the webpart must be placed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ZoneIndex</maml:name>\n        <maml:description>\n          <maml:para>The Zone Index where the webpart must be placed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWebPartToWebPartPage -ServerRelativePageUrl \"/sites/demo/sitepages/home.aspx\" -Path \"c:\\myfiles\\listview.webpart\" -ZoneId \"Header\" -ZoneIndex 1 </dev:code>\n        <maml:remarks>\n          <maml:para>This will add the webpart as defined by the XML in the listview.webpart file to the specified page in the specified zone and with the order index of 1</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWebPartToWebPartPage -ServerRelativePageUrl \"/sites/demo/sitepages/home.aspx\" -XML $webpart -ZoneId \"Header\" -ZoneIndex 1 </dev:code>\n        <maml:remarks>\n          <maml:para>This will add the webpart as defined by the XML in the $webpart variable to the specified page in the specified zone and with the order index of 1</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPWebPartToWikiPage</command:name>\n      <maml:description>\n        <maml:para>Adds a webpart to a wiki page in a specified table row and column</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPWebPartToWikiPage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPWebPartToWikiPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Xml</maml:name>\n          <maml:description>\n            <maml:para>A string containing the XML for the webpart.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Full server relative url of the webpart page, e.g. /sites/demo/sitepages/home.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Row</maml:name>\n          <maml:description>\n            <maml:para>Row number where the webpart must be placed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Column</maml:name>\n          <maml:description>\n            <maml:para>Column number where the webpart must be placed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddSpace</maml:name>\n          <maml:description>\n            <maml:para>Must there be a extra space between the webpart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPWebPartToWikiPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>A path to a webpart file on a the file system.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Full server relative url of the webpart page, e.g. /sites/demo/sitepages/home.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Row</maml:name>\n          <maml:description>\n            <maml:para>Row number where the webpart must be placed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Column</maml:name>\n          <maml:description>\n            <maml:para>Column number where the webpart must be placed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddSpace</maml:name>\n          <maml:description>\n            <maml:para>Must there be a extra space between the webpart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AddSpace</maml:name>\n        <maml:description>\n          <maml:para>Must there be a extra space between the webpart</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Column</maml:name>\n        <maml:description>\n          <maml:para>Column number where the webpart must be placed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>A path to a webpart file on a the file system.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Row</maml:name>\n        <maml:description>\n          <maml:para>Row number where the webpart must be placed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>Full server relative url of the webpart page, e.g. /sites/demo/sitepages/home.aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Xml</maml:name>\n        <maml:description>\n          <maml:para>A string containing the XML for the webpart.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWebPartToWikiPage -ServerRelativePageUrl \"/sites/demo/sitepages/home.aspx\" -Path \"c:\\myfiles\\listview.webpart\" -Row 1 -Column 1</dev:code>\n        <maml:remarks>\n          <maml:para>This will add the webpart as defined by the XML in the listview.webpart file to the specified page in the first row and the first column of the HTML table present on the page</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWebPartToWikiPage -ServerRelativePageUrl \"/sites/demo/sitepages/home.aspx\" -XML $webpart -Row 1 -Column 1</dev:code>\n        <maml:remarks>\n          <maml:para>This will add the webpart as defined by the XML in the $webpart variable to the specified page in the first row and the first column of the HTML table present on the page</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPWikiPage</command:name>\n      <maml:description>\n        <maml:para>Adds a wiki page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPWikiPage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPWikiPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Content</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>The server relative page URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Add-PnPWikiPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Layout</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">WikiPageLayout</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>The server relative page URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Content</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Layout</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">WikiPageLayout</command:parameterValue>\n        <dev:type>\n          <maml:name>WikiPageLayout</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>The server relative page URL</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWikiPage -PageUrl '/sites/demo1/pages/wikipage.aspx' -Content 'New WikiPage'</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new wiki page '/sites/demo1/pages/wikipage.aspx' and sets the content to 'New WikiPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPWorkflowDefinition</command:name>\n      <maml:description>\n        <maml:para>Adds a workflow definition</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPWorkflowDefinition</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPWorkflowDefinition</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Definition</maml:name>\n          <maml:description>\n            <maml:para>The workflow definition to add.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WorkflowDefinition</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DoNotPublish</maml:name>\n          <maml:description>\n            <maml:para>Overrides the default behaviour, which is to publish workflow definitions.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Definition</maml:name>\n        <maml:description>\n          <maml:para>The workflow definition to add.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WorkflowDefinition</command:parameterValue>\n        <dev:type>\n          <maml:name>WorkflowDefinition</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DoNotPublish</maml:name>\n        <maml:description>\n          <maml:para>Overrides the default behaviour, which is to publish workflow definitions.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.Guid</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para>Returns the Id of the workflow definition</maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWorkflowDefinition -Definition $wfdef</dev:code>\n        <maml:remarks>\n          <maml:para>Adds an existing workflow definition, retrieved by Get-PnPWorkflowDefinition, to a site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Add-PnPWorkflowSubscription</command:name>\n      <maml:description>\n        <maml:para>Adds a workflow subscription to a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Add</command:verb>\n      <command:noun>PnPWorkflowSubscription</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Add-PnPWorkflowSubscription</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the subscription</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DefinitionName</maml:name>\n          <maml:description>\n            <maml:para>The name of the workflow definition</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to add the workflow to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>HistoryListName</maml:name>\n          <maml:description>\n            <maml:para>The name of the History list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TaskListName</maml:name>\n          <maml:description>\n            <maml:para>The name of the task list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StartManually</maml:name>\n          <maml:description>\n            <maml:para>Switch if the workflow should be started manually, default value is 'true'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StartOnCreated</maml:name>\n          <maml:description>\n            <maml:para>Should the workflow run when an new item is created</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StartOnChanged</maml:name>\n          <maml:description>\n            <maml:para>Should the workflow run when an item is changed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AssociationValues</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AssociationValues</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DefinitionName</maml:name>\n        <maml:description>\n          <maml:para>The name of the workflow definition</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>HistoryListName</maml:name>\n        <maml:description>\n          <maml:para>The name of the History list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list to add the workflow to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the subscription</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StartManually</maml:name>\n        <maml:description>\n          <maml:para>Switch if the workflow should be started manually, default value is 'true'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StartOnChanged</maml:name>\n        <maml:description>\n          <maml:para>Should the workflow run when an item is changed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StartOnCreated</maml:name>\n        <maml:description>\n          <maml:para>Should the workflow run when an new item is created</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TaskListName</maml:name>\n        <maml:description>\n          <maml:para>The name of the task list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Add-PnPWorkflowSubscription -Name MyWorkflow -DefinitionName SendMessageWf -list $list</dev:code>\n        <maml:remarks>\n          <maml:para>Adds an Workflow with the name 'SendMessageWf' to the list $list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $list | Add-PnPWorkflowSubscription -Name MyWorkflow -DefinitionName SendMessageWf</dev:code>\n        <maml:remarks>\n          <maml:para>Adds an Workflow with the name \"SendMessageWf\" to the list $list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPList -Identity \"MyCustomList\" | Add-PnPWorkflowSubscription -Name MyWorkflow -DefinitionName SendMessageWf</dev:code>\n        <maml:remarks>\n          <maml:para>Adds an Workflow with the name \"SendMessageWf\" to the list \"MyCustomList\".</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Apply-PnPProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Applies a provisioning template to a web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Apply</command:verb>\n      <command:noun>PnPProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Apply-PnPProvisioningTemplate</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>InputInstance</maml:name>\n          <maml:description>\n            <maml:para>Allows you to provide an in-memory instance of the ProvisioningTemplate type of the PnP Core Component. When using this parameter, the -Path parameter refers to the path of any supporting file for the template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ProvisioningTemplate</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ResourceFolder</maml:name>\n          <maml:description>\n            <maml:para>Root folder where resources/files that are being referenced in the template are located. If not specified the same folder as where the provisioning template is located will be used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OverwriteSystemPropertyBagValues</maml:name>\n          <maml:description>\n            <maml:para>Specify this parameter if you want to overwrite and/or create properties that are known to be system entries (starting with vti_, dlc_, etc.)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreDuplicateDataRowErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignore duplicate data row errors when the data row in the template already exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProvisionContentTypesToSubWebs</maml:name>\n          <maml:description>\n            <maml:para>If set content types will be provisioned if the target web is a subweb.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProvisionFieldsToSubWebs</maml:name>\n          <maml:description>\n            <maml:para>If set fields will be provisioned if the target web is a subweb.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClearNavigation</maml:name>\n          <maml:description>\n            <maml:para>Override the RemoveExistingNodes attribute in the Navigation elements of the template. If you specify this value the navigation nodes will always be removed before adding the nodes in the template</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Parameters</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify parameters that can be referred to in the template by means of the {parameter:&lt;Key&gt;} token. See examples on how to use this parameter.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Handlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to only process a specific part of the template. Notice that this might fail, as some of the handlers require other artifacts in place if they are not part of what your applying.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Handlers</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExcludeHandlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to run all handlers, excluding the ones specified.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Handlers</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExtensibilityHandlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ExtensbilityHandlers to execute while applying a template</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ExtensibilityHandler[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while applying a template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Apply-PnPProvisioningTemplate</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>GalleryTemplateId</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Guid</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ResourceFolder</maml:name>\n          <maml:description>\n            <maml:para>Root folder where resources/files that are being referenced in the template are located. If not specified the same folder as where the provisioning template is located will be used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OverwriteSystemPropertyBagValues</maml:name>\n          <maml:description>\n            <maml:para>Specify this parameter if you want to overwrite and/or create properties that are known to be system entries (starting with vti_, dlc_, etc.)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreDuplicateDataRowErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignore duplicate data row errors when the data row in the template already exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProvisionContentTypesToSubWebs</maml:name>\n          <maml:description>\n            <maml:para>If set content types will be provisioned if the target web is a subweb.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProvisionFieldsToSubWebs</maml:name>\n          <maml:description>\n            <maml:para>If set fields will be provisioned if the target web is a subweb.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClearNavigation</maml:name>\n          <maml:description>\n            <maml:para>Override the RemoveExistingNodes attribute in the Navigation elements of the template. If you specify this value the navigation nodes will always be removed before adding the nodes in the template</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Parameters</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify parameters that can be referred to in the template by means of the {parameter:&lt;Key&gt;} token. See examples on how to use this parameter.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Handlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to only process a specific part of the template. Notice that this might fail, as some of the handlers require other artifacts in place if they are not part of what your applying.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Handlers</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExcludeHandlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to run all handlers, excluding the ones specified.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Handlers</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExtensibilityHandlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ExtensbilityHandlers to execute while applying a template</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ExtensibilityHandler[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while applying a template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Apply-PnPProvisioningTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Path to the xml or pnp file containing the provisioning template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ResourceFolder</maml:name>\n          <maml:description>\n            <maml:para>Root folder where resources/files that are being referenced in the template are located. If not specified the same folder as where the provisioning template is located will be used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OverwriteSystemPropertyBagValues</maml:name>\n          <maml:description>\n            <maml:para>Specify this parameter if you want to overwrite and/or create properties that are known to be system entries (starting with vti_, dlc_, etc.)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreDuplicateDataRowErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignore duplicate data row errors when the data row in the template already exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProvisionContentTypesToSubWebs</maml:name>\n          <maml:description>\n            <maml:para>If set content types will be provisioned if the target web is a subweb.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProvisionFieldsToSubWebs</maml:name>\n          <maml:description>\n            <maml:para>If set fields will be provisioned if the target web is a subweb.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClearNavigation</maml:name>\n          <maml:description>\n            <maml:para>Override the RemoveExistingNodes attribute in the Navigation elements of the template. If you specify this value the navigation nodes will always be removed before adding the nodes in the template</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Parameters</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify parameters that can be referred to in the template by means of the {parameter:&lt;Key&gt;} token. See examples on how to use this parameter.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Handlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to only process a specific part of the template. Notice that this might fail, as some of the handlers require other artifacts in place if they are not part of what your applying.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Handlers</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExcludeHandlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to run all handlers, excluding the ones specified.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Handlers</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExtensibilityHandlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ExtensbilityHandlers to execute while applying a template</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ExtensibilityHandler[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while applying a template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ClearNavigation</maml:name>\n        <maml:description>\n          <maml:para>Override the RemoveExistingNodes attribute in the Navigation elements of the template. If you specify this value the navigation nodes will always be removed before adding the nodes in the template</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ExcludeHandlers</maml:name>\n        <maml:description>\n          <maml:para>Allows you to run all handlers, excluding the ones specified.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Handlers</command:parameterValue>\n        <dev:type>\n          <maml:name>Handlers</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ExtensibilityHandlers</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ExtensbilityHandlers to execute while applying a template</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ExtensibilityHandler[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ExtensibilityHandler[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>GalleryTemplateId</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Guid</command:parameterValue>\n        <dev:type>\n          <maml:name>Guid</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Handlers</maml:name>\n        <maml:description>\n          <maml:para>Allows you to only process a specific part of the template. Notice that this might fail, as some of the handlers require other artifacts in place if they are not part of what your applying.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Handlers</command:parameterValue>\n        <dev:type>\n          <maml:name>Handlers</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IgnoreDuplicateDataRowErrors</maml:name>\n        <maml:description>\n          <maml:para>Ignore duplicate data row errors when the data row in the template already exists.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>InputInstance</maml:name>\n        <maml:description>\n          <maml:para>Allows you to provide an in-memory instance of the ProvisioningTemplate type of the PnP Core Component. When using this parameter, the -Path parameter refers to the path of any supporting file for the template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ProvisioningTemplate</command:parameterValue>\n        <dev:type>\n          <maml:name>ProvisioningTemplate</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OverwriteSystemPropertyBagValues</maml:name>\n        <maml:description>\n          <maml:para>Specify this parameter if you want to overwrite and/or create properties that are known to be system entries (starting with vti_, dlc_, etc.)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Parameters</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify parameters that can be referred to in the template by means of the {parameter:&lt;Key&gt;} token. See examples on how to use this parameter.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Path to the xml or pnp file containing the provisioning template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ProvisionContentTypesToSubWebs</maml:name>\n        <maml:description>\n          <maml:para>If set content types will be provisioned if the target web is a subweb.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ProvisionFieldsToSubWebs</maml:name>\n        <maml:description>\n          <maml:para>If set fields will be provisioned if the target web is a subweb.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ResourceFolder</maml:name>\n        <maml:description>\n          <maml:para>Root folder where resources/files that are being referenced in the template are located. If not specified the same folder as where the provisioning template is located will be used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateProviderExtensions</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ITemplateProviderExtension to execute while applying a template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ITemplateProviderExtension[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ITemplateProviderExtension[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Apply-PnPProvisioningTemplate -Path template.xml</dev:code>\n        <maml:remarks>\n          <maml:para>Applies a provisioning template in XML format to the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Apply-PnPProvisioningTemplate -Path template.xml -ResourceFolder c:\\provisioning\\resources</dev:code>\n        <maml:remarks>\n          <maml:para>Applies a provisioning template in XML format to the current web. Any resources like files that are referenced in the template will be retrieved from the folder as specified with the ResourceFolder parameter.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Apply-PnPProvisioningTemplate -Path template.xml -Parameters @{\"ListTitle\"=\"Projects\";\"parameter2\"=\"a second value\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Applies a provisioning template in XML format to the current web. It will populate the parameter in the template the values as specified and in the template you can refer to those values with the {parameter:&lt;key&gt;} token.\n\nFor instance with the example above, specifying {parameter:ListTitle} in your template will translate to 'Projects' when applying the template. These tokens can be used in most string values in a template.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Apply-PnPProvisioningTemplate -Path template.xml -Handlers Lists, SiteSecurity</dev:code>\n        <maml:remarks>\n          <maml:para>Applies a provisioning template in XML format to the current web. It will only apply the lists and site security part of the template.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Apply-PnPProvisioningTemplate -Path template.pnp</dev:code>\n        <maml:remarks>\n          <maml:para>Applies a provisioning template from a pnp package to the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Apply-PnPProvisioningTemplate -Path https://tenant.sharepoint.com/sites/templatestorage/Documents/template.pnp</dev:code>\n        <maml:remarks>\n          <maml:para>Applies a provisioning template from a pnp package stored in a library to the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 7---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>\nPS:&gt; $handler1 = New-PnPExtensibilityHandlerObject -Assembly Contoso.Core.Handlers -Type Contoso.Core.Handlers.MyExtensibilityHandler1\nPS:&gt; $handler2 = New-PnPExtensibilityHandlerObject -Assembly Contoso.Core.Handlers -Type Contoso.Core.Handlers.MyExtensibilityHandler1\nPS:&gt; Apply-PnPProvisioningTemplate -Path NewTemplate.xml -ExtensibilityHandlers $handler1,$handler2</dev:code>\n        <maml:remarks>\n          <maml:para>This will create two new ExtensibilityHandler objects that are run while provisioning the template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 8---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Apply-PnPProvisioningTemplate -Path .\\ -InputInstance $template</dev:code>\n        <maml:remarks>\n          <maml:para>Applies a provisioning template from an in-memory instance of a ProvisioningTemplate type of the PnP Core Component, reading the supporting files, if any, from the current (.\\) path. The syntax can be used together with any other supported parameters.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPSitePolicy</command:name>\n      <maml:description>\n        <maml:para>Sets a site policy</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPSitePolicy</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPSitePolicy</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the site policy to apply</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the site policy to apply</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSitePolicy -Name \"Contoso HBI\"</dev:code>\n        <maml:remarks>\n          <maml:para>This applies a site policy with the name \"Contoso HBI\" to the current site. The policy needs to be available in the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Clear-PnPListItemAsRecord</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nUndeclares a list item as a record</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Clear</command:verb>\n      <command:noun>PnPListItemAsRecord</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Clear-PnPListItemAsRecord</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Clear-PnPListItemAsRecord -List \"Documents\" -Identity 4</dev:code>\n        <maml:remarks>\n          <maml:para>Undeclares the document in the documents library with id 4 as a record</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Clear-PnPRecycleBinItem</command:name>\n      <maml:description>\n        <maml:para>Permanently deletes all or a specific recycle bin item</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Clear</command:verb>\n      <command:noun>PnPRecycleBinItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Clear-PnPRecycleBinItem</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>All</maml:name>\n          <maml:description>\n            <maml:para>Clears all items</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SecondStageOnly</maml:name>\n          <maml:description>\n            <maml:para>If provided, only all the items in the second stage recycle bin will be cleared</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be asked to permanently delete the recycle bin item</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Clear-PnPRecycleBinItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Id of the recycle bin item or the recycle bin item itself to permanently delete</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">RecycleBinItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be asked to permanently delete the recycle bin item</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>All</maml:name>\n        <maml:description>\n          <maml:para>Clears all items</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If provided, no confirmation will be asked to permanently delete the recycle bin item</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Id of the recycle bin item or the recycle bin item itself to permanently delete</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">RecycleBinItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>RecycleBinItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SecondStageOnly</maml:name>\n        <maml:description>\n          <maml:para>If provided, only all the items in the second stage recycle bin will be cleared</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPRecycleBinItems | ? FileLeafName -like \"*.docx\" | Clear-PnpRecycleBinItem</dev:code>\n        <maml:remarks>\n          <maml:para>Permanently deletes all the items in the first and second stage recycle bins of which the file names have the .docx extension</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Clear-PnpRecycleBinItem -Identity 72e4d749-d750-4989-b727-523d6726e442</dev:code>\n        <maml:remarks>\n          <maml:para>Permanently deletes the recycle bin item with Id 72e4d749-d750-4989-b727-523d6726e442 from the recycle bin</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Clear-PnpRecycleBinItem -Identity $item -Force</dev:code>\n        <maml:remarks>\n          <maml:para>Permanently deletes the recycle bin item stored under variable $item from the recycle bin without asking for confirmation from the end user first</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Clear-PnPTenantRecycleBinItem</command:name>\n      <maml:description>\n        <maml:para>Permanently deletes a site collection from the tenant scoped recycle bin</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Clear</command:verb>\n      <command:noun>PnPTenantRecycleBinItem</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>The Clear-PnPTenantRecycleBinItem cmdlet allows a site collection that has been deleted and still exists in the tenant recycle bin to be permanently deleted from the recycle bin as well.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Clear-PnPTenantRecycleBinItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Url of the site collection to permanently delete from the tenant recycle bin</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Wait</maml:name>\n          <maml:description>\n            <maml:para>If provided, the PowerShell execution will halt until the operation has completed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be asked to permanently delete the site collection from the tenant recycle bin</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If provided, no confirmation will be asked to permanently delete the site collection from the tenant recycle bin</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>Url of the site collection to permanently delete from the tenant recycle bin</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Wait</maml:name>\n        <maml:description>\n          <maml:para>If provided, the PowerShell execution will halt until the operation has completed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Clear-PnPTenantRecycleBinItem -Url https://tenant.sharepoint.com/sites/contoso</dev:code>\n        <maml:remarks>\n          <maml:para>This will permanently delete site collection with the url 'https://tenant.sharepoint.com/sites/contoso' from the tenant recycle bin</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Clear-PnPTenantRecycleBinItem -Url https://tenant.sharepoint.com/sites/contoso -Wait</dev:code>\n        <maml:remarks>\n          <maml:para>This will permanently delete site collection with the url 'https://tenant.sharepoint.com/sites/contoso' from the tenant recycle bin and will wait with executing further PowerShell commands until the operation has completed</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Connect-PnPOnline</command:name>\n      <maml:description>\n        <maml:para>Connect to a SharePoint site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Connect</command:verb>\n      <command:noun>PnPOnline</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>If no credentials have been specified, and the CurrentCredentials parameter has not been specified, you will be prompted for credentials.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The Url of the site collection to connect to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ReturnConnection</maml:name>\n          <maml:description>\n            <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Credentials</maml:name>\n          <maml:description>\n            <maml:para>Credentials of the user to connect with. Either specify a PSCredential object or a string. In case of a string value a lookup will be done to the Windows Credential Manager for the correct credentials.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CredentialPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CurrentCredentials</maml:name>\n          <maml:description>\n            <maml:para>If you want to connect with the current user credentials</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UseAdfs</maml:name>\n          <maml:description>\n            <maml:para>If you want to connect to your on-premises SharePoint farm using ADFS</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinimalHealthScore</maml:name>\n          <maml:description>\n            <maml:para>Specifies a minimal server healthscore before any requests are executed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryCount</maml:name>\n          <maml:description>\n            <maml:para>Defines how often a retry should be executed if the server healthscore is not sufficient. Default is 10 times.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryWait</maml:name>\n          <maml:description>\n            <maml:para>Defines how many seconds to wait before each retry. Default is 1 second.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestTimeout</maml:name>\n          <maml:description>\n            <maml:para>The request timeout. Default is 180000</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AuthenticationMode</maml:name>\n          <maml:description>\n            <maml:para>Specify to use for instance use forms based authentication (FBA)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientAuthenticationMode</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CreateDrive</maml:name>\n          <maml:description>\n            <maml:para>If you want to create a PSDrive connected to the URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DriveName</maml:name>\n          <maml:description>\n            <maml:para>Name of the PSDrive to create (default: SPO)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scopes</maml:name>\n          <maml:description>\n            <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TenantAdminUrl</maml:name>\n          <maml:description>\n            <maml:para>The url to the Tenant Admin site. If not specified, the cmdlets will assume to connect automatically to https://&lt;tenantname&gt;-admin.sharepoint.com where appropriate.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipTenantAdminCheck</maml:name>\n          <maml:description>\n            <maml:para>Should we skip the check if this site is the Tenant admin site. Default is false</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreSslErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignores any SSL errors. To be used i.e. when connecting to a SharePoint farm using self signed certificates or using a certificate authority not trusted by this machine.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AccessToken</maml:name>\n          <maml:description>\n            <maml:para>Connect with an existing Access Token</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ReturnConnection</maml:name>\n          <maml:description>\n            <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinimalHealthScore</maml:name>\n          <maml:description>\n            <maml:para>Specifies a minimal server healthscore before any requests are executed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryCount</maml:name>\n          <maml:description>\n            <maml:para>Defines how often a retry should be executed if the server healthscore is not sufficient. Default is 10 times.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryWait</maml:name>\n          <maml:description>\n            <maml:para>Defines how many seconds to wait before each retry. Default is 1 second.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestTimeout</maml:name>\n          <maml:description>\n            <maml:para>The request timeout. Default is 180000</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CreateDrive</maml:name>\n          <maml:description>\n            <maml:para>If you want to create a PSDrive connected to the URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DriveName</maml:name>\n          <maml:description>\n            <maml:para>Name of the PSDrive to create (default: SPO)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipTenantAdminCheck</maml:name>\n          <maml:description>\n            <maml:para>Should we skip the check if this site is the Tenant admin site. Default is false</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The Url of the site collection to connect to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Graph</maml:name>\n          <maml:description>\n            <maml:para>Log in using the PnP O365 Management Shell application towards the Graph. You will be asked to consent to: \n\n* Read and write managed metadata\n* Have full control of all site collections\n* Read user profiles\n* Invite guest users to the organization\n* Read and write all groups\n* Read and write directory data\n* Access the directory as you\n* Read and write identity providers\n* Access the directory as you\n</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LaunchBrowser</maml:name>\n          <maml:description>\n            <maml:para>Launch a browser automatically and copy the code to enter to the clipboard</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Scopes</maml:name>\n          <maml:description>\n            <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>UseWebLogin</maml:name>\n          <maml:description>\n            <maml:para>If you want to connect to SharePoint with browser based login</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The Url of the site collection to connect to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ReturnConnection</maml:name>\n          <maml:description>\n            <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinimalHealthScore</maml:name>\n          <maml:description>\n            <maml:para>Specifies a minimal server healthscore before any requests are executed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryCount</maml:name>\n          <maml:description>\n            <maml:para>Defines how often a retry should be executed if the server healthscore is not sufficient. Default is 10 times.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryWait</maml:name>\n          <maml:description>\n            <maml:para>Defines how many seconds to wait before each retry. Default is 1 second.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestTimeout</maml:name>\n          <maml:description>\n            <maml:para>The request timeout. Default is 180000</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CreateDrive</maml:name>\n          <maml:description>\n            <maml:para>If you want to create a PSDrive connected to the URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DriveName</maml:name>\n          <maml:description>\n            <maml:para>Name of the PSDrive to create (default: SPO)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scopes</maml:name>\n          <maml:description>\n            <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TenantAdminUrl</maml:name>\n          <maml:description>\n            <maml:para>The url to the Tenant Admin site. If not specified, the cmdlets will assume to connect automatically to https://&lt;tenantname&gt;-admin.sharepoint.com where appropriate.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipTenantAdminCheck</maml:name>\n          <maml:description>\n            <maml:para>Should we skip the check if this site is the Tenant admin site. Default is false</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreSslErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignores any SSL errors. To be used i.e. when connecting to a SharePoint farm using self signed certificates or using a certificate authority not trusted by this machine.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SPOManagementShell</maml:name>\n          <maml:description>\n            <maml:para>Log in using the SharePoint Online Management Shell application</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The Url of the site collection to connect to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ReturnConnection</maml:name>\n          <maml:description>\n            <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinimalHealthScore</maml:name>\n          <maml:description>\n            <maml:para>Specifies a minimal server healthscore before any requests are executed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryCount</maml:name>\n          <maml:description>\n            <maml:para>Defines how often a retry should be executed if the server healthscore is not sufficient. Default is 10 times.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryWait</maml:name>\n          <maml:description>\n            <maml:para>Defines how many seconds to wait before each retry. Default is 1 second.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestTimeout</maml:name>\n          <maml:description>\n            <maml:para>The request timeout. Default is 180000</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CreateDrive</maml:name>\n          <maml:description>\n            <maml:para>If you want to create a PSDrive connected to the URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DriveName</maml:name>\n          <maml:description>\n            <maml:para>Name of the PSDrive to create (default: SPO)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClearTokenCache</maml:name>\n          <maml:description>\n            <maml:para>Clears the token cache.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scopes</maml:name>\n          <maml:description>\n            <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TenantAdminUrl</maml:name>\n          <maml:description>\n            <maml:para>The url to the Tenant Admin site. If not specified, the cmdlets will assume to connect automatically to https://&lt;tenantname&gt;-admin.sharepoint.com where appropriate.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipTenantAdminCheck</maml:name>\n          <maml:description>\n            <maml:para>Should we skip the check if this site is the Tenant admin site. Default is false</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreSslErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignores any SSL errors. To be used i.e. when connecting to a SharePoint farm using self signed certificates or using a certificate authority not trusted by this machine.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PnPO365ManagementShell</maml:name>\n          <maml:description>\n            <maml:para>Log in using the PnP O365 Management Shell application. You will be asked to consent to: \n            \n* Read and write managed metadata\n* Have full control of all site collections\n* Read user profiles\n* Invite guest users to the organization\n* Read and write all groups\n* Read and write directory data\n* Access the directory as you\n* Read and write identity providers\n* Access the directory as you</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The Url of the site collection to connect to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ReturnConnection</maml:name>\n          <maml:description>\n            <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LaunchBrowser</maml:name>\n          <maml:description>\n            <maml:para>Launch a browser automatically and copy the code to enter to the clipboard</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AppId</maml:name>\n          <maml:description>\n            <maml:para>The Application Client ID to use.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AppSecret</maml:name>\n          <maml:description>\n            <maml:para>The Application Client Secret to use.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The Url of the site collection to connect to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ReturnConnection</maml:name>\n          <maml:description>\n            <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinimalHealthScore</maml:name>\n          <maml:description>\n            <maml:para>Specifies a minimal server healthscore before any requests are executed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryCount</maml:name>\n          <maml:description>\n            <maml:para>Defines how often a retry should be executed if the server healthscore is not sufficient. Default is 10 times.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryWait</maml:name>\n          <maml:description>\n            <maml:para>Defines how many seconds to wait before each retry. Default is 1 second.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestTimeout</maml:name>\n          <maml:description>\n            <maml:para>The request timeout. Default is 180000</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Realm</maml:name>\n          <maml:description>\n            <maml:para>Authentication realm. If not specified will be resolved from the url specified.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CreateDrive</maml:name>\n          <maml:description>\n            <maml:para>If you want to create a PSDrive connected to the URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DriveName</maml:name>\n          <maml:description>\n            <maml:para>Name of the PSDrive to create (default: SPO)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scopes</maml:name>\n          <maml:description>\n            <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TenantAdminUrl</maml:name>\n          <maml:description>\n            <maml:para>The url to the Tenant Admin site. If not specified, the cmdlets will assume to connect automatically to https://&lt;tenantname&gt;-admin.sharepoint.com where appropriate.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipTenantAdminCheck</maml:name>\n          <maml:description>\n            <maml:para>Should we skip the check if this site is the Tenant admin site. Default is false</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreSslErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignores any SSL errors. To be used i.e. when connecting to a SharePoint farm using self signed certificates or using a certificate authority not trusted by this machine.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ClientId</maml:name>\n          <maml:description>\n            <maml:para>The Client ID of the Azure AD Application</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>RedirectUri</maml:name>\n          <maml:description>\n            <maml:para>The Redirect URI of the Azure AD Application</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The Url of the site collection to connect to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ReturnConnection</maml:name>\n          <maml:description>\n            <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinimalHealthScore</maml:name>\n          <maml:description>\n            <maml:para>Specifies a minimal server healthscore before any requests are executed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryCount</maml:name>\n          <maml:description>\n            <maml:para>Defines how often a retry should be executed if the server healthscore is not sufficient. Default is 10 times.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryWait</maml:name>\n          <maml:description>\n            <maml:para>Defines how many seconds to wait before each retry. Default is 1 second.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestTimeout</maml:name>\n          <maml:description>\n            <maml:para>The request timeout. Default is 180000</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CreateDrive</maml:name>\n          <maml:description>\n            <maml:para>If you want to create a PSDrive connected to the URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DriveName</maml:name>\n          <maml:description>\n            <maml:para>Name of the PSDrive to create (default: SPO)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClearTokenCache</maml:name>\n          <maml:description>\n            <maml:para>Clears the token cache.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AzureEnvironment</maml:name>\n          <maml:description>\n            <maml:para>The Azure environment to use for authentication, the defaults to 'Production' which is the main Azure environment.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AzureEnvironment</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scopes</maml:name>\n          <maml:description>\n            <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TenantAdminUrl</maml:name>\n          <maml:description>\n            <maml:para>The url to the Tenant Admin site. If not specified, the cmdlets will assume to connect automatically to https://&lt;tenantname&gt;-admin.sharepoint.com where appropriate.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipTenantAdminCheck</maml:name>\n          <maml:description>\n            <maml:para>Should we skip the check if this site is the Tenant admin site. Default is false</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreSslErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignores any SSL errors. To be used i.e. when connecting to a SharePoint farm using self signed certificates or using a certificate authority not trusted by this machine.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AppId</maml:name>\n          <maml:description>\n            <maml:para>The client id of the app which gives you access to the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AppSecret</maml:name>\n          <maml:description>\n            <maml:para>The app key of the app which gives you access to the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AADDomain</maml:name>\n          <maml:description>\n            <maml:para>The AAD where the O365 app is registred. Eg.: contoso.com, or contoso.onmicrosoft.com.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ClientId</maml:name>\n          <maml:description>\n            <maml:para>The Client ID of the Azure AD Application</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Tenant</maml:name>\n          <maml:description>\n            <maml:para>The Azure AD Tenant name,e.g. mycompany.onmicrosoft.com</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CertificatePath</maml:name>\n          <maml:description>\n            <maml:para>Path to the certificate (*.pfx)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The Url of the site collection to connect to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ReturnConnection</maml:name>\n          <maml:description>\n            <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinimalHealthScore</maml:name>\n          <maml:description>\n            <maml:para>Specifies a minimal server healthscore before any requests are executed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryCount</maml:name>\n          <maml:description>\n            <maml:para>Defines how often a retry should be executed if the server healthscore is not sufficient. Default is 10 times.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryWait</maml:name>\n          <maml:description>\n            <maml:para>Defines how many seconds to wait before each retry. Default is 1 second.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestTimeout</maml:name>\n          <maml:description>\n            <maml:para>The request timeout. Default is 180000</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CreateDrive</maml:name>\n          <maml:description>\n            <maml:para>If you want to create a PSDrive connected to the URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DriveName</maml:name>\n          <maml:description>\n            <maml:para>Name of the PSDrive to create (default: SPO)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CertificatePassword</maml:name>\n          <maml:description>\n            <maml:para>Password to the certificate (*.pfx)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SecureString</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AzureEnvironment</maml:name>\n          <maml:description>\n            <maml:para>The Azure environment to use for authentication, the defaults to 'Production' which is the main Azure environment.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AzureEnvironment</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scopes</maml:name>\n          <maml:description>\n            <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TenantAdminUrl</maml:name>\n          <maml:description>\n            <maml:para>The url to the Tenant Admin site. If not specified, the cmdlets will assume to connect automatically to https://&lt;tenantname&gt;-admin.sharepoint.com where appropriate.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipTenantAdminCheck</maml:name>\n          <maml:description>\n            <maml:para>Should we skip the check if this site is the Tenant admin site. Default is false</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreSslErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignores any SSL errors. To be used i.e. when connecting to a SharePoint farm using self signed certificates or using a certificate authority not trusted by this machine.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPOnline</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ClientId</maml:name>\n          <maml:description>\n            <maml:para>The Client ID of the Azure AD Application</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Tenant</maml:name>\n          <maml:description>\n            <maml:para>The Azure AD Tenant name,e.g. mycompany.onmicrosoft.com</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PEMCertificate</maml:name>\n          <maml:description>\n            <maml:para>PEM encoded certificate</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PEMPrivateKey</maml:name>\n          <maml:description>\n            <maml:para>PEM encoded private key for the certificate</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The Url of the site collection to connect to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ReturnConnection</maml:name>\n          <maml:description>\n            <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinimalHealthScore</maml:name>\n          <maml:description>\n            <maml:para>Specifies a minimal server healthscore before any requests are executed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryCount</maml:name>\n          <maml:description>\n            <maml:para>Defines how often a retry should be executed if the server healthscore is not sufficient. Default is 10 times.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryWait</maml:name>\n          <maml:description>\n            <maml:para>Defines how many seconds to wait before each retry. Default is 1 second.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestTimeout</maml:name>\n          <maml:description>\n            <maml:para>The request timeout. Default is 180000</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CreateDrive</maml:name>\n          <maml:description>\n            <maml:para>If you want to create a PSDrive connected to the URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DriveName</maml:name>\n          <maml:description>\n            <maml:para>Name of the PSDrive to create (default: SPO)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CertificatePassword</maml:name>\n          <maml:description>\n            <maml:para>Password to the certificate (*.pfx)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SecureString</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AzureEnvironment</maml:name>\n          <maml:description>\n            <maml:para>The Azure environment to use for authentication, the defaults to 'Production' which is the main Azure environment.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AzureEnvironment</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TenantAdminUrl</maml:name>\n          <maml:description>\n            <maml:para>The url to the Tenant Admin site. If not specified, the cmdlets will assume to connect automatically to https://&lt;tenantname&gt;-admin.sharepoint.com where appropriate.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipTenantAdminCheck</maml:name>\n          <maml:description>\n            <maml:para>Should we skip the check if this site is the Tenant admin site. Default is false</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IgnoreSslErrors</maml:name>\n          <maml:description>\n            <maml:para>Ignores any SSL errors. To be used i.e. when connecting to a SharePoint farm using self signed certificates or using a certificate authority not trusted by this machine.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AADDomain</maml:name>\n        <maml:description>\n          <maml:para>The AAD where the O365 app is registred. Eg.: contoso.com, or contoso.onmicrosoft.com.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AccessToken</maml:name>\n        <maml:description>\n          <maml:para>Connect with an existing Access Token</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AppId</maml:name>\n        <maml:description>\n          <maml:para>The Application Client ID to use.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AppSecret</maml:name>\n        <maml:description>\n          <maml:para>The Application Client Secret to use.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AuthenticationMode</maml:name>\n        <maml:description>\n          <maml:para>Specify to use for instance use forms based authentication (FBA)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ClientAuthenticationMode</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientAuthenticationMode</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AzureEnvironment</maml:name>\n        <maml:description>\n          <maml:para>The Azure environment to use for authentication, the defaults to 'Production' which is the main Azure environment.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">AzureEnvironment</command:parameterValue>\n        <dev:type>\n          <maml:name>AzureEnvironment</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CertificatePassword</maml:name>\n        <maml:description>\n          <maml:para>Password to the certificate (*.pfx)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SecureString</command:parameterValue>\n        <dev:type>\n          <maml:name>SecureString</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CertificatePath</maml:name>\n        <maml:description>\n          <maml:para>Path to the certificate (*.pfx)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ClearTokenCache</maml:name>\n        <maml:description>\n          <maml:para>Clears the token cache.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ClientId</maml:name>\n        <maml:description>\n          <maml:para>The Client ID of the Azure AD Application</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CreateDrive</maml:name>\n        <maml:description>\n          <maml:para>If you want to create a PSDrive connected to the URL</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Credentials</maml:name>\n        <maml:description>\n          <maml:para>Credentials of the user to connect with. Either specify a PSCredential object or a string. In case of a string value a lookup will be done to the Windows Credential Manager for the correct credentials.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CredentialPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>CredentialPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CurrentCredentials</maml:name>\n        <maml:description>\n          <maml:para>If you want to connect with the current user credentials</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DriveName</maml:name>\n        <maml:description>\n          <maml:para>Name of the PSDrive to create (default: SPO)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Graph</maml:name>\n        <maml:description>\n          <maml:para>Log in using the PnP O365 Management Shell application towards the Graph. You will be asked to consent to: \n\n* Read and write managed metadata\n* Have full control of all site collections\n* Read user profiles\n* Invite guest users to the organization\n* Read and write all groups\n* Read and write directory data\n* Access the directory as you\n* Read and write identity providers\n* Access the directory as you\n</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IgnoreSslErrors</maml:name>\n        <maml:description>\n          <maml:para>Ignores any SSL errors. To be used i.e. when connecting to a SharePoint farm using self signed certificates or using a certificate authority not trusted by this machine.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>LaunchBrowser</maml:name>\n        <maml:description>\n          <maml:para>Launch a browser automatically and copy the code to enter to the clipboard</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MinimalHealthScore</maml:name>\n        <maml:description>\n          <maml:para>Specifies a minimal server healthscore before any requests are executed.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PEMCertificate</maml:name>\n        <maml:description>\n          <maml:para>PEM encoded certificate</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PEMPrivateKey</maml:name>\n        <maml:description>\n          <maml:para>PEM encoded private key for the certificate</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PnPO365ManagementShell</maml:name>\n        <maml:description>\n          <maml:para>Log in using the PnP O365 Management Shell application. You will be asked to consent to: \n            \n* Read and write managed metadata\n* Have full control of all site collections\n* Read user profiles\n* Invite guest users to the organization\n* Read and write all groups\n* Read and write directory data\n* Access the directory as you\n* Read and write identity providers\n* Access the directory as you</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Realm</maml:name>\n        <maml:description>\n          <maml:para>Authentication realm. If not specified will be resolved from the url specified.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>RedirectUri</maml:name>\n        <maml:description>\n          <maml:para>The Redirect URI of the Azure AD Application</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RequestTimeout</maml:name>\n        <maml:description>\n          <maml:para>The request timeout. Default is 180000</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RetryCount</maml:name>\n        <maml:description>\n          <maml:para>Defines how often a retry should be executed if the server healthscore is not sufficient. Default is 10 times.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RetryWait</maml:name>\n        <maml:description>\n          <maml:para>Defines how many seconds to wait before each retry. Default is 1 second.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ReturnConnection</maml:name>\n        <maml:description>\n          <maml:para>Returns the connection for use with the -Connection parameter on cmdlets.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scopes</maml:name>\n        <maml:description>\n          <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SkipTenantAdminCheck</maml:name>\n        <maml:description>\n          <maml:para>Should we skip the check if this site is the Tenant admin site. Default is false</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SPOManagementShell</maml:name>\n        <maml:description>\n          <maml:para>Log in using the SharePoint Online Management Shell application</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Tenant</maml:name>\n        <maml:description>\n          <maml:para>The Azure AD Tenant name,e.g. mycompany.onmicrosoft.com</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TenantAdminUrl</maml:name>\n        <maml:description>\n          <maml:para>The url to the Tenant Admin site. If not specified, the cmdlets will assume to connect automatically to https://&lt;tenantname&gt;-admin.sharepoint.com where appropriate.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The Url of the site collection to connect to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UseAdfs</maml:name>\n        <maml:description>\n          <maml:para>If you want to connect to your on-premises SharePoint farm using ADFS</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>UseWebLogin</maml:name>\n        <maml:description>\n          <maml:para>If you want to connect to SharePoint with browser based login</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://contoso.sharepoint.com</dev:code>\n        <maml:remarks>\n          <maml:para>This will prompt for username and password and creates a context for the other PowerShell commands to use. When a generic credential is added to the Windows Credential Manager with https://contoso.sharepoint.com, PowerShell will not prompt for username and password.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://contoso.sharepoint.com -Credentials (Get-Credential)</dev:code>\n        <maml:remarks>\n          <maml:para>This will prompt for username and password and creates a context for the other PowerShell commands to use. </maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url http://yourlocalserver -CurrentCredentials</dev:code>\n        <maml:remarks>\n          <maml:para>This will use the current user credentials and connects to the server specified by the Url parameter.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url http://yourlocalserver -Credentials 'O365Creds'</dev:code>\n        <maml:remarks>\n          <maml:para>This will use credentials from the Windows Credential Manager, as defined by the label 'O365Creds'.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url http://yourlocalserver -Credentials (Get-Credential) -UseAdfs</dev:code>\n        <maml:remarks>\n          <maml:para>This will prompt for username and password and creates a context using ADFS to authenticate.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://yourserver -Credentials (Get-Credential) -CreateDrive\nPS:&gt; cd SPO:\\\\\nPS:&gt; dir</dev:code>\n        <maml:remarks>\n          <maml:para>This will prompt you for credentials and creates a context for the other PowerShell commands to use. It will also create a SPO:\\\\ drive you can use to navigate around the site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 7---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://yourserver -Credentials (Get-Credential) -AuthenticationMode FormsAuthentication</dev:code>\n        <maml:remarks>\n          <maml:para>This will prompt you for credentials and creates a context for the other PowerShell commands to use. It assumes your server is configured for Forms Based Authentication (FBA)</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 8---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://contoso.sharepoint.de -AppId 344b8aab-389c-4e4a-8fa1-4c1ae2c0a60d -AppSecret a3f3faf33f3awf3a3sfs3f3ss3f4f4a3fawfas3ffsrrffssfd -AzureEnvironment Germany</dev:code>\n        <maml:remarks>\n          <maml:para>This will authenticate you to the German Azure environment using the German Azure endpoints for authentication</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 9---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://contoso.sharepoint.com -SPOManagementShell</dev:code>\n        <maml:remarks>\n          <maml:para>This will authenticate you using the SharePoint Online Management Shell application</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 10---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://contoso.sharepoint.com -PnPO365ManagementShell</dev:code>\n        <maml:remarks>\n          <maml:para>This will authenticate you using the PnP O365 Management Shell Multi-Tenant application. A browser window will have to be opened where you have to enter a code that is shown in your PowerShell window.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 11---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://contoso.sharepoint.com -PnPO365ManagementShell -LaunchBrowser</dev:code>\n        <maml:remarks>\n          <maml:para>This will authenticate you using the PnP O365 Management Shell Multi-Tenant application. A browser window will automatically open and the code you need to enter will be automatically copied to your clipboard.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 12---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://contoso.sharepoint.com -AccessToken $myaccesstoken</dev:code>\n        <maml:remarks>\n          <maml:para>This will authenticate you using the provided access token</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 13---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes $arrayOfScopes</dev:code>\n        <maml:remarks>\n          <maml:para>Connects to Azure AD and gets and OAuth 2.0 Access Token to consume the Microsoft Graph API including the declared permission scopes. The available permission scopes are defined at the following URL: https://graph.microsoft.io/en-us/docs/authorization/permission_scopes</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 14---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -AppId '&lt;id&gt;' -AppSecret '&lt;secret&gt;' -AADDomain 'contoso.onmicrosoft.com'</dev:code>\n        <maml:remarks>\n          <maml:para>Connects to the Microsoft Graph API using application permissions via an app's declared permission scopes. See https://github.com/SharePoint/PnP-PowerShell/tree/master/Samples/Graph.ConnectUsingAppPermissions for a sample on how to get started.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 15---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url https://contoso.sharepoint.com -ClientId '&lt;id&gt;' -Tenant 'contoso.onmicrosoft.com' -PEMCertificate &lt;PEM string&gt; -PEMPrivateKey &lt;PEM string&gt;</dev:code>\n        <maml:remarks>\n          <maml:para>Connects to SharePoint using app-only tokens via an app's declared permission scopes. See https://github.com/SharePoint/PnP-PowerShell/tree/master/Samples/SharePoint.ConnectUsingAppPermissions for a sample on how to get started.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Connect-PnPMicrosoftGraph</command:name>\n      <maml:description>\n        <maml:para>Connect to the Microsoft Graph</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Connect</command:verb>\n      <command:noun>PnPMicrosoftGraph</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Uses the Microsoft Authentication Library (Preview) to connect to Azure AD and to get an OAuth 2.0 Access Token to consume the Microsoft Graph API</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPMicrosoftGraph</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Scopes</maml:name>\n          <maml:description>\n            <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Connect-PnPMicrosoftGraph</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AppId</maml:name>\n          <maml:description>\n            <maml:para>The client id of the app which gives you access to the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AppSecret</maml:name>\n          <maml:description>\n            <maml:para>The app key of the app which gives you access to the Microsoft Graph API.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AADDomain</maml:name>\n          <maml:description>\n            <maml:para>The AAD where the O365 app is registred. Eg.: contoso.com, or contoso.onmicrosoft.com.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AADDomain</maml:name>\n        <maml:description>\n          <maml:para>The AAD where the O365 app is registred. Eg.: contoso.com, or contoso.onmicrosoft.com.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AppId</maml:name>\n        <maml:description>\n          <maml:para>The client id of the app which gives you access to the Microsoft Graph API.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AppSecret</maml:name>\n        <maml:description>\n          <maml:para>The app key of the app which gives you access to the Microsoft Graph API.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Scopes</maml:name>\n        <maml:description>\n          <maml:para>The array of permission scopes for the Microsoft Graph API.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPMicrosoftGraph -Scopes $arrayOfScopes</dev:code>\n        <maml:remarks>\n          <maml:para>Connects to Azure AD and gets and OAuth 2.0 Access Token to consume the Microsoft Graph API including the declared permission scopes. The available permission scopes are defined at the following URL: https://graph.microsoft.io/en-us/docs/authorization/permission_scopes</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPMicrosoftGraph -AppId '&lt;id&gt;' -AppSecret '&lt;secret&gt;' -AADDomain 'contoso.onmicrosoft.com'</dev:code>\n        <maml:remarks>\n          <maml:para>Connects to the Microsoft Graph API using application permissions via an app's declared permission scopes. See https://github.com/SharePoint/PnP-PowerShell/tree/master/Samples/Graph.ConnectUsingAppPermissions for a sample on how to get started.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Convert-PnPProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Converts a provisioning template to an other schema version</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Convert</command:verb>\n      <command:noun>PnPProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Convert-PnPProvisioningTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Path to the xml file containing the provisioning template</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Out</maml:name>\n          <maml:description>\n            <maml:para>Filename to write to, optionally including full path</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Encoding</maml:name>\n          <maml:description>\n            <maml:para>The encoding type of the XML file, Unicode is default</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Encoding</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the output file if it exists</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"1\">\n          <maml:name>ToSchema</maml:name>\n          <maml:description>\n            <maml:para>The schema of the output to use, defaults to the latest schema</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">XMLPnPSchemaVersion</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Encoding</maml:name>\n        <maml:description>\n          <maml:para>The encoding type of the XML file, Unicode is default</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Encoding</command:parameterValue>\n        <dev:type>\n          <maml:name>Encoding</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Overwrites the output file if it exists</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Out</maml:name>\n        <maml:description>\n          <maml:para>Filename to write to, optionally including full path</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Path to the xml file containing the provisioning template</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"1\">\n        <maml:name>ToSchema</maml:name>\n        <maml:description>\n          <maml:para>The schema of the output to use, defaults to the latest schema</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">XMLPnPSchemaVersion</command:parameterValue>\n        <dev:type>\n          <maml:name>XMLPnPSchemaVersion</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Convert-PnPProvisioningTemplate -Path template.xml</dev:code>\n        <maml:remarks>\n          <maml:para>Converts a provisioning template to the latest schema and outputs the result to current console.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Convert-PnPProvisioningTemplate -Path template.xml -Out newtemplate.xml</dev:code>\n        <maml:remarks>\n          <maml:para>Converts a provisioning template to the latest schema and outputs the result the newtemplate.xml file.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Convert-PnPProvisioningTemplate -Path template.xml -Out newtemplate.xml -ToSchema V201512</dev:code>\n        <maml:remarks>\n          <maml:para>Converts a provisioning template to the latest schema using the 201512 schema and outputs the result the newtemplate.xml file.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Encoding:</maml:linkText>\n        <maml:uri>https://msdn.microsoft.com/en-us/library/system.text.encoding_properties.aspx</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Convert-PnPFolderToProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Creates a pnp package file of an existing template xml, and includes all files in the current folder</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Convert</command:verb>\n      <command:noun>PnPFolderToProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Convert-PnPFolderToProvisioningTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Out</maml:name>\n          <maml:description>\n            <maml:para>Filename to write to, optionally including full path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the output file if it exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"1\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>Folder to process. If not specified the current folder will be used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"1\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>Folder to process. If not specified the current folder will be used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Overwrites the output file if it exists.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Out</maml:name>\n        <maml:description>\n          <maml:para>Filename to write to, optionally including full path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Convert-PnPFolderToProvisioningTemplate -Out template.pnp</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a pnp package file of an existing template xml, and includes all files in the current folder</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Convert-PnPFolderToProvisioningTemplate -Out template.pnp -Folder c:\\temp</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a pnp package file of an existing template xml, and includes all files in the c:\\temp folder</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Copy-PnPFile</command:name>\n      <maml:description>\n        <maml:para>Copies a file or folder to a different location</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Copy</command:verb>\n      <command:noun>PnPFile</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Copy-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SourceUrl</maml:name>\n          <maml:description>\n            <maml:para>Site relative Url specifying the file or folder to copy.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>TargetUrl</maml:name>\n          <maml:description>\n            <maml:para>Server relative Url where to copy the file or folder to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OverwriteIfAlreadyExists</maml:name>\n          <maml:description>\n            <maml:para>If provided, if a file already exists at the TargetUrl, it will be overwritten. If ommitted, the copy operation will be canceled if the file already exists at the TargetUrl location.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be requested and the action will be performed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipSourceFolderName</maml:name>\n          <maml:description>\n            <maml:para>If the source is a folder, the source folder name will not be created, only the contents within it.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If provided, no confirmation will be requested and the action will be performed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OverwriteIfAlreadyExists</maml:name>\n        <maml:description>\n          <maml:para>If provided, if a file already exists at the TargetUrl, it will be overwritten. If ommitted, the copy operation will be canceled if the file already exists at the TargetUrl location.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SkipSourceFolderName</maml:name>\n        <maml:description>\n          <maml:para>If the source is a folder, the source folder name will not be created, only the contents within it.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SourceUrl</maml:name>\n        <maml:description>\n          <maml:para>Site relative Url specifying the file or folder to copy.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>TargetUrl</maml:name>\n        <maml:description>\n          <maml:para>Server relative Url where to copy the file or folder to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/company.docx -TargetUrl /sites/otherproject/Documents/company.docx</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a file named company.docx located in a document library called Documents in the current site to the site collection otherproject. If a file named company.docx already exists, it won't perform the copy.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/company.docx -TargetUrl Documents/company2.docx</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a file named company.docx located in a document library called Documents to a new document named company2.docx in the same library.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/company.docx -TargetUrl Documents2/company.docx</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a file named company.docx located in a document library called Documents to a document library called Documents2 in the same site. </maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/company.docx -TargetUrl Subsite/Documents/company2.docx</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a file named company.docx located in a document library called Documents to the document library named Document in a subsite named Subsite as a new document named company2.docx.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/company.docx -TargetUrl Subsite/Documents</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a file named company.docx located in a document library called Documents to the document library named Document in a subsite named Subsite keeping the file name.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/company.docx -TargetUrl /sites/otherproject/Documents/company.docx -OverwriteIfAlreadyExists</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a file named company.docx located in a document library called Documents in the current site to the site collection otherproject. If a file named company.docx already exists, it will still perform the copy and replace the original company.docx file.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 7---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/MyDocs -TargetUrl /sites/otherproject/Documents -OverwriteIfAlreadyExists</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a folder named MyDocs in the document library called Documents located in the current site to the site collection otherproject. If the MyDocs folder exist it will copy into it, if not it will be created.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 8---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/MyDocs -TargetUrl /sites/otherproject/Documents -SkipSourceFolderName -OverwriteIfAlreadyExists</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a folder named MyDocs in the document library called Documents located in the current site to the root folder of the library named Documents in the site collection otherproject.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 9---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/MyDocs -TargetUrl /sites/otherproject/Documents/MyDocs -SkipSourceFolderName -OverwriteIfAlreadyExists</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a folder named MyDocs in the MyDocs folder of the library named Documents. If the MyDocs folder does not exists, it will be created.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 10---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl Documents/MyDocs -TargetUrl /sites/otherproject/Documents/MyDocs -OverwriteIfAlreadyExists</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a folder named MyDocs in the root of the library named Documents. If the MyDocs folder exists in the target, a subfolder also named MyDocs is created.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 11---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Copy-PnPFile -SourceUrl SubSite1/Documents/company.docx -TargetUrl SubSite2/Documents</dev:code>\n        <maml:remarks>\n          <maml:para>Copies a file named company.docx in the library named Documents in SubSite1 to the library named Documents in SubSite2.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Disable-PnPFeature</command:name>\n      <maml:description>\n        <maml:para>Disables a feature</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Disable</command:verb>\n      <command:noun>PnPFeature</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Deactives a feature that was active on a site</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Disable-PnPFeature</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The id of the feature to disable.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether to continue if an error occurs when deactivating the feature.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>Specify the scope of the feature to deactivate, either Web or Site. Defaults to Web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FeatureScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether to continue if an error occurs when deactivating the feature.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The id of the feature to disable.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>Specify the scope of the feature to deactivate, either Web or Site. Defaults to Web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">FeatureScope</command:parameterValue>\n        <dev:type>\n          <maml:name>FeatureScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Disable-PnPFeature -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>This will disable the feature with the id \"99a00f6e-fb81-4dc7-8eac-e09c6f9132fe\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Disable-PnPFeature -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe -Force</dev:code>\n        <maml:remarks>\n          <maml:para>This will disable the feature with the id \"99a00f6e-fb81-4dc7-8eac-e09c6f9132fe\" with force.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Disable-PnPFeature -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe -Scope Web</dev:code>\n        <maml:remarks>\n          <maml:para>This will disable the feature with the id \"99a00f6e-fb81-4dc7-8eac-e09c6f9132fe\" with the web scope.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Disable-PnPInPlaceRecordsManagementForSite</command:name>\n      <maml:description>\n        <maml:para>Disables in place records management for a site.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Disable</command:verb>\n      <command:noun>PnPInPlaceRecordsManagementForSite</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Disable-PnPInPlaceRecordsManagementForSite</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Disable-PnPInPlaceRecordsManagementForSite</dev:code>\n        <maml:remarks>\n          <maml:para>The in place records management feature will be disabled</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Disable-PnPResponsiveUI</command:name>\n      <maml:description>\n        <maml:para>Deactive the PnP Response UI add-on</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Disable</command:verb>\n      <command:noun>PnPResponsiveUI</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Disables the PnP Responsive UI implementation on a classic SharePoint Site</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Disable-PnPResponsiveUI</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Disable-PnPResponsiveUI</dev:code>\n        <maml:remarks>\n          <maml:para>If enabled previously, this will remove the PnP Responsive UI from a site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Disable-PnPSiteClassification</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nDisables Site Classifications for the tenant. Requires a connection to the Microsoft Graph.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Disable</command:verb>\n      <command:noun>PnPSiteClassification</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax />\n    <command:parameters />\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Disable-PnPSiteClassification</dev:code>\n        <maml:remarks>\n          <maml:para>Disables Site Classifications for your tenant.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Disconnect-PnPOnline</command:name>\n      <maml:description>\n        <maml:para>Disconnects the context</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Disconnect</command:verb>\n      <command:noun>PnPOnline</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Disconnects the current context and requires you to build up a new connection in order to use the Cmdlets again. Using Connect-PnPOnline to connect to a different site has the same effect.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Disconnect-PnPOnline</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Connection to be used by cmdlet</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Connection to be used by cmdlet</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Disconnect-PnPOnline</dev:code>\n        <maml:remarks>\n          <maml:para>This will disconnect you from the server.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Enable-PnPFeature</command:name>\n      <maml:description>\n        <maml:para>Enables a feature</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Enable</command:verb>\n      <command:noun>PnPFeature</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Enable-PnPFeature</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The id of the feature to enable.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether to overwrite an existing feature with the same feature identifier. This parameter is ignored if there are no errors.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>Specify the scope of the feature to activate, either Web or Site. Defaults to Web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FeatureScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Sandboxed</maml:name>\n          <maml:description>\n            <maml:para>Specify this parameter if the feature you're trying to activate is part of a sandboxed solution.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether to overwrite an existing feature with the same feature identifier. This parameter is ignored if there are no errors.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The id of the feature to enable.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Sandboxed</maml:name>\n        <maml:description>\n          <maml:para>Specify this parameter if the feature you're trying to activate is part of a sandboxed solution.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>Specify the scope of the feature to activate, either Web or Site. Defaults to Web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">FeatureScope</command:parameterValue>\n        <dev:type>\n          <maml:name>FeatureScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Enable-PnPFeature -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>This will enable the feature with the id \"99a00f6e-fb81-4dc7-8eac-e09c6f9132fe\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Enable-PnPFeature -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe -Force</dev:code>\n        <maml:remarks>\n          <maml:para>This will enable the feature with the id \"99a00f6e-fb81-4dc7-8eac-e09c6f9132fe\" with force.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Enable-PnPFeature -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe -Scope Web</dev:code>\n        <maml:remarks>\n          <maml:para>This will enable the feature with the id \"99a00f6e-fb81-4dc7-8eac-e09c6f9132fe\" with the web scope.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Enable-PnPInPlaceRecordsManagementForSite</command:name>\n      <maml:description>\n        <maml:para>Enables in place records management for a site.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Enable</command:verb>\n      <command:noun>PnPInPlaceRecordsManagementForSite</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Enable-PnPInPlaceRecordsManagementForSite</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Enable-PnPInPlaceRecordsManagementForSite</dev:code>\n        <maml:remarks>\n          <maml:para>The in place records management feature will be enabled and the in place record management will be enabled in all locations with record declaration allowed by all contributors and undeclaration by site admins</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Enable-PnPResponsiveUI</command:name>\n      <maml:description>\n        <maml:para>Activates the PnP Response UI Add-on</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Enable</command:verb>\n      <command:noun>PnPResponsiveUI</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Enables the PnP Responsive UI implementation on a classic SharePoint Site</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Enable-PnPResponsiveUI</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>InfrastructureSiteUrl</maml:name>\n          <maml:description>\n            <maml:para>A full URL pointing to an infrastructure site. If specified, it will add a custom action pointing to the responsive UI JS code in that site.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>InfrastructureSiteUrl</maml:name>\n        <maml:description>\n          <maml:para>A full URL pointing to an infrastructure site. If specified, it will add a custom action pointing to the responsive UI JS code in that site.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Enable-PnPResponsiveUI</dev:code>\n        <maml:remarks>\n          <maml:para>Will upload a CSS file, a JavaScript file and adds a custom action to the root web of the current site collection, enabling the responsive UI on the site collection. The CSS and JavaScript files are located in the style library, in a folder called SP.Responsive.UI.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Enable-PnPSiteClassification</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nEnables Site Classifications for the tenant. Requires a connection to the Microsoft Graph.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Enable</command:verb>\n      <command:noun>PnPSiteClassification</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Enable-PnPSiteClassification</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Classifications</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DefaultClassification</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UsageGuidelinesUrl</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Classifications</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DefaultClassification</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UsageGuidelinesUrl</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Enable-PnPSiteClassification -Classifications \"HBI\",\"LBI\",\"Top Secret\" -DefaultClassification \"LBI\"</dev:code>\n        <maml:remarks>\n          <maml:para>Enables Site Classifications for your tenant and provides three classification values. The default value will be set to \"LBI\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Enable-PnPSiteClassification -Classifications \"HBI\",\"LBI\",\"Top Secret\" -UsageGuidelinesUrl http://aka.ms/sppnp</dev:code>\n        <maml:remarks>\n          <maml:para>Enables Site Classifications for your tenant and provides three classification values. The usage guideliness will be set to the specified URL.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPProperty</command:name>\n      <maml:description>\n        <maml:para>Returns a previously not loaded property of a ClientObject</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPProperty</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Will populate properties of an object and optionally, if needed, load the value from the server. If one property is specified its value will be returned to the output.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPProperty</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ClientObject</maml:name>\n          <maml:description>\n            <maml:para>Specifies the object where the properties of should be retrieved</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientObject</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>Property</maml:name>\n          <maml:description>\n            <maml:para>The properties to load. If one property is specified its value will be returned to the output.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ClientObject</maml:name>\n        <maml:description>\n          <maml:para>Specifies the object where the properties of should be retrieved</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientObject</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientObject</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>Property</maml:name>\n        <maml:description>\n          <maml:para>The properties to load. If one property is specified its value will be returned to the output.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.ClientObject</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>\nPS:&gt; $web = Get-PnPWeb\nPS:&gt; Get-PnPProperty -ClientObject $web -Property Id, Lists\nPS:&gt; $web.Lists</dev:code>\n        <maml:remarks>\n          <maml:para>Will load both the Id and Lists properties of the specified Web object.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>\nPS:&gt; $list = Get-PnPList -Identity 'Site Assets'\nPS:&gt; Get-PnPProperty -ClientObject $list -Property Views</dev:code>\n        <maml:remarks>\n          <maml:para>Will load the views object of the specified list object and return its value to the output.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Export-PnPTaxonomy</command:name>\n      <maml:description>\n        <maml:para>Exports a taxonomy to either the output or to a file.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Export</command:verb>\n      <command:noun>PnPTaxonomy</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Export-PnPTaxonomy</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermSetId</maml:name>\n          <maml:description>\n            <maml:para>If specified, will export the specified termset only</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStoreName</maml:name>\n          <maml:description>\n            <maml:para>Term store to export; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IncludeID</maml:name>\n          <maml:description>\n            <maml:para>If specified will include the ids of the taxonomy items in the output. Format: &lt;label&gt;;#&lt;guid&gt;</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>File to export the data to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the output file if it exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Delimiter</maml:name>\n          <maml:description>\n            <maml:para>The path delimiter to be used, by default this is '|'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Encoding</maml:name>\n          <maml:description>\n            <maml:para>Defaults to Unicode</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Encoding</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Delimiter</maml:name>\n        <maml:description>\n          <maml:para>The path delimiter to be used, by default this is '|'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Encoding</maml:name>\n        <maml:description>\n          <maml:para>Defaults to Unicode</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Encoding</command:parameterValue>\n        <dev:type>\n          <maml:name>Encoding</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Overwrites the output file if it exists.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IncludeID</maml:name>\n        <maml:description>\n          <maml:para>If specified will include the ids of the taxonomy items in the output. Format: &lt;label&gt;;#&lt;guid&gt;</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>File to export the data to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermSetId</maml:name>\n        <maml:description>\n          <maml:para>If specified, will export the specified termset only</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStoreName</maml:name>\n        <maml:description>\n          <maml:para>Term store to export; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Export-PnPTaxonomy</dev:code>\n        <maml:remarks>\n          <maml:para>Exports the full taxonomy to the standard output</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Export-PnPTaxonomy -Path c:\\output.txt</dev:code>\n        <maml:remarks>\n          <maml:para>Exports the full taxonomy the file output.txt</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Export-PnPTaxonomy -Path c:\\output.txt -TermSet f6f43025-7242-4f7a-b739-41fa32847254</dev:code>\n        <maml:remarks>\n          <maml:para>Exports the term set with the specified id</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Export-PnPTermGroupToXml</command:name>\n      <maml:description>\n        <maml:para>Exports a taxonomy TermGroup to either the output or to an XML file.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Export</command:verb>\n      <command:noun>PnPTermGroupToXml</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Export-PnPTermGroupToXml</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID or name of the termgroup</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Title or TermGroup</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Out</maml:name>\n          <maml:description>\n            <maml:para>File to export the data to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FullTemplate</maml:name>\n          <maml:description>\n            <maml:para>If specified, a full provisioning template structure will be returned</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Encoding</maml:name>\n          <maml:description>\n            <maml:para>Defaults to Unicode</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Encoding</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the output file if it exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Encoding</maml:name>\n        <maml:description>\n          <maml:para>Defaults to Unicode</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Encoding</command:parameterValue>\n        <dev:type>\n          <maml:name>Encoding</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Overwrites the output file if it exists.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>FullTemplate</maml:name>\n        <maml:description>\n          <maml:para>If specified, a full provisioning template structure will be returned</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID or name of the termgroup</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Title or TermGroup</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Title or TermGroup</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Out</maml:name>\n        <maml:description>\n          <maml:para>File to export the data to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Export-PnPTermGroupToXml</dev:code>\n        <maml:remarks>\n          <maml:para>Exports all term groups in the default site collection term store to the standard output</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Export-PnPTermGroupToXml -Out output.xml</dev:code>\n        <maml:remarks>\n          <maml:para>Exports all term groups in the default site collection term store to the file 'output.xml' in the current folder</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Export-PnPTermGroupToXml -Out c:\\output.xml -Identity \"Test Group\"</dev:code>\n        <maml:remarks>\n          <maml:para>Exports the term group with the specified name to the file 'output.xml' located in the root folder of the C: drive.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $termgroup = Get-PnPTermGroup -GroupName Test\nPS:&gt; $termgroup | Export-PnPTermGroupToXml -Out c:\\output.xml</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves a termgroup and subsequently exports that term group to a the file named 'output.xml'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Find-PnPFile</command:name>\n      <maml:description>\n        <maml:para>Finds a file in the virtual file system of the web.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Find</command:verb>\n      <command:noun>PnPFile</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Find-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Match</maml:name>\n          <maml:description>\n            <maml:para>Wildcard query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Find-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>List title, url or an actual List object to query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Match</maml:name>\n          <maml:description>\n            <maml:para>Wildcard query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Find-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>Folder object or relative url of a folder to query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FolderPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Match</maml:name>\n          <maml:description>\n            <maml:para>Wildcard query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>Folder object or relative url of a folder to query</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">FolderPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FolderPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>List title, url or an actual List object to query</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Match</maml:name>\n        <maml:description>\n          <maml:para>Wildcard query</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.File</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Find-PnPFile -Match *.master</dev:code>\n        <maml:remarks>\n          <maml:para>Will return all masterpages located in the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Find-PnPFile -List \"Documents\" -Match *.pdf</dev:code>\n        <maml:remarks>\n          <maml:para>Will return all pdf files located in given list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Find-PnPFile -Folder \"Shared Documents/Sub Folder\" -Match *.docx</dev:code>\n        <maml:remarks>\n          <maml:para>Will return all docx files located in given folder.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPApp</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns the available apps from the app catalog</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPApp</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPApp</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id of an app which is available in the app catalog</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Id of an app which is available in the app catalog</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">AppMetadataPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>AppMetadataPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;OfficeDevPnP.Core.ALM.AppMetadata&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPApp</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all available app metadata from the tenant app catalog. It will list the installed version in the current site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPApp -Identity 2646ccc3-6a2b-46ef-9273-81411cbbb60f</dev:code>\n        <maml:remarks>\n          <maml:para>This will the specific app metadata from the app catalog.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPAppInstance</command:name>\n      <maml:description>\n        <maml:para>Returns a SharePoint AddIn Instance</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPAppInstance</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns a SharePoint App/Addin that has been installed in the current site</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPAppInstance</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id of the App Instance</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AppPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Id of the App Instance</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">AppPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>AppPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;Microsoft.SharePoint.Client.AppInstance&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAppInstance</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all addin instances in the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAppInstance -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>This will return an addin instance with the specified id.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPAuditing</command:name>\n      <maml:description>\n        <maml:para>Get the Auditing setting of a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPAuditing</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPAuditing</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Audit</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAuditing</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the auditing settings of the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPAuthenticationRealm</command:name>\n      <maml:description>\n        <maml:para>Returns the authentication realm</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPAuthenticationRealm</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Gets the authentication realm for the current web</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPAuthenticationRealm</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Specifies the URL of the site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>Specifies the URL of the site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.String</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAuthenticationRealm</dev:code>\n        <maml:remarks>\n          <maml:para>This will get the authentication realm for the current connected site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAuthenticationRealm -Url https://contoso.sharepoint.com</dev:code>\n        <maml:remarks>\n          <maml:para>This will get the authentication realm for https://contoso.sharepoint.com</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPAvailableClientSideComponents</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nGets the available client side components on a particular page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPAvailableClientSideComponents</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPAvailableClientSideComponents</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Component</maml:name>\n          <maml:description>\n            <maml:para>Specifies the component instance or Id to look for.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSideComponentPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Component</maml:name>\n        <maml:description>\n          <maml:para>Specifies the component instance or Id to look for.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ClientSideComponentPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSideComponentPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Page</maml:name>\n        <maml:description>\n          <maml:para>The name of the page.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAvailableClientSideComponents -Page \"MyPage.aspx\"</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the list of available client side components on the page 'MyPage.aspx'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAvailableClientSideComponents $page</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the list of available client side components on the page contained in the $page variable</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAvailableClientSideComponents -Page \"MyPage.aspx\" -ComponentName \"HelloWorld\"</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the client side component 'HelloWorld' if available on the page 'MyPage.aspx'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPAzureADManifestKeyCredentials</command:name>\n      <maml:description>\n        <maml:para>Return the JSON Manifest snippet for Azure Apps</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPAzureADManifestKeyCredentials</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Creates the JSON snippet that is required for the manifest JSON file for Azure WebApplication / WebAPI apps</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPAzureADManifestKeyCredentials</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CertPath</maml:name>\n          <maml:description>\n            <maml:para>Specifies the path to the certificate like .\\mycert.cer</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CertPath</maml:name>\n        <maml:description>\n          <maml:para>Specifies the path to the certificate like .\\mycert.cer</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.String</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para>Outputs a JSON formatted string</maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAzureADManifestKeyCredentials -CertPath .\\mycert.cer</dev:code>\n        <maml:remarks>\n          <maml:para>Output the JSON snippet which needs to be replaced in the application manifest file</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAzureADManifestKeyCredentials -CertPath .\\mycert.cer | Set-Clipboard</dev:code>\n        <maml:remarks>\n          <maml:para>Output the JSON snippet which needs to be replaced in the application manifest file and copies it to the clipboard</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPClientSideComponent</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieve one or more Client-Side components from a page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPClientSideComponent</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPClientSideComponent</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>InstanceId</maml:name>\n          <maml:description>\n            <maml:para>The instance id of the component</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>InstanceId</maml:name>\n        <maml:description>\n          <maml:para>The instance id of the component</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Page</maml:name>\n        <maml:description>\n          <maml:para>The name of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPClientSideComponent -Page Home</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all controls defined on the given page.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPClientSideComponent -Page Home -Identity a2875399-d6ff-43a0-96da-be6ae5875f82</dev:code>\n        <maml:remarks>\n          <maml:para>Returns a specific control defined on the given page.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPClientSidePage</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nGets a Client-Side Page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPClientSidePage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPClientSidePage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The name of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPClientSidePage -Identity \"MyPage.aspx\"</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the Modern Page (Client-Side) named 'MyPage.aspx' in the current SharePoint site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPClientSidePage \"MyPage\"</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the Modern Page (Client-Side) named 'MyPage.aspx' in the current SharePoint site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPContentType</command:name>\n      <maml:description>\n        <maml:para>Retrieves a content type</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPContentType</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPContentType</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>List to query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>InSiteHierarchy</maml:name>\n          <maml:description>\n            <maml:para>Search site hierarchy for content types</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Name or ID of the content type to retrieve</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Name or ID of the content type to retrieve</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>InSiteHierarchy</maml:name>\n        <maml:description>\n          <maml:para>Search site hierarchy for content types</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>List to query</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.ContentType</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPContentType </dev:code>\n        <maml:remarks>\n          <maml:para>This will get a listing of all available content types within the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPContentType -InSiteHierarchy</dev:code>\n        <maml:remarks>\n          <maml:para>This will get a listing of all available content types within the site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPContentType -Identity \"Project Document\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will get the content type with the name \"Project Document\" within the current context</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPContentType -List \"Documents\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will get a listing of all available content types within the list \"Documents\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPContentTypePublishingHubUrl</command:name>\n      <maml:description>\n        <maml:para>Returns the url to Content Type Publishing Hub</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPContentTypePublishingHubUrl</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPContentTypePublishingHubUrl</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $url = Get-PnPContentTypePublishingHubUrl\nPS:&gt; Connect-PnPOnline -Url $url\nPS:&gt; Get-PnPContentType\n</dev:code>\n        <maml:remarks>\n          <maml:para>This will retrieve the url to the content type hub, connect to it, and then retrieve the content types form that site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPCustomAction</command:name>\n      <maml:description>\n        <maml:para>Return user custom actions</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPCustomAction</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns all or a specific user custom action</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPCustomAction</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Identity of the CustomAction to return. Omit to return all CustomActions.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>Scope of the CustomAction, either Web, Site or All to return both</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CustomActionScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ThrowExceptionIfCustomActionNotFound</maml:name>\n          <maml:description>\n            <maml:para>Switch parameter if an exception should be thrown if the requested CustomAction does not exist (true) or if omitted, nothing will be returned in case the CustomAction does not exist</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Identity of the CustomAction to return. Omit to return all CustomActions.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>Scope of the CustomAction, either Web, Site or All to return both</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CustomActionScope</command:parameterValue>\n        <dev:type>\n          <maml:name>CustomActionScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ThrowExceptionIfCustomActionNotFound</maml:name>\n        <maml:description>\n          <maml:para>Switch parameter if an exception should be thrown if the requested CustomAction does not exist (true) or if omitted, nothing will be returned in case the CustomAction does not exist</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;Microsoft.SharePoint.Client.UserCustomAction&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPCustomAction</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all custom actions of the current site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPCustomAction -Identity aa66f67e-46c0-4474-8a82-42bf467d07f2</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the custom action with the id 'aa66f67e-46c0-4474-8a82-42bf467d07f2'.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPCustomAction -Scope web</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all custom actions for the current web object.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPDefaultColumnValues</command:name>\n      <maml:description>\n        <maml:para>Gets the default column values for all folders in document library</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPDefaultColumnValues</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Gets the default column values for a document library, per folder. Supports both text, people and taxonomy fields.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPDefaultColumnValues</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Name or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Name or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPDocumentSetTemplate</command:name>\n      <maml:description>\n        <maml:para>Retrieves a document set template</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPDocumentSetTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPDocumentSetTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Either specify a name, an id, a document set template object or a content type object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DocumentSetPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Either specify a name, an id, a document set template object or a content type object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">DocumentSetPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>DocumentSetPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.DocumentSet.DocumentSetTemplate</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPDocumentSetTemplate -Identity \"Test Document Set\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will get the document set template with the name \"Test Document Set\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPDocumentSetTemplate -Identity \"0x0120D520005DB65D094035A241BAC9AF083F825F3B\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will get the document set template with the id \"0x0120D520005DB65D094035A241BAC9AF083F825F3B\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPEventReceiver</command:name>\n      <maml:description>\n        <maml:para>Return registered eventreceivers</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPEventReceiver</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns all registered or a specific eventreceiver</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPEventReceiver</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object from which to get the event receiver object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Guid of the event receiver</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">EventReceiverPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPEventReceiver</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Guid of the event receiver</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">EventReceiverPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Guid of the event receiver</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">EventReceiverPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>EventReceiverPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object from which to get the event receiver object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.EventReceiverDefinition</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPEventReceiver</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all registered event receivers on the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPEventReceiver -Identity fb689d0e-eb99-4f13-beb3-86692fd39f22</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the event receiver with the provided ReceiverId \"fb689d0e-eb99-4f13-beb3-86692fd39f22\" from the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPEventReceiver -Identity MyReceiver</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the event receiver with the provided ReceiverName \"MyReceiver\" from the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPEventReceiver -List \"ProjectList\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all registered event receivers in the provided \"ProjectList\" list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPEventReceiver -List \"ProjectList\" -Identity fb689d0e-eb99-4f13-beb3-86692fd39f22</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the event receiver in the provided \"ProjectList\" list with with the provided ReceiverId \"fb689d0e-eb99-4f13-beb3-86692fd39f22\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPEventReceiver -List \"ProjectList\" -Identity MyReceiver</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the event receiver in the \"ProjectList\" list with the provided ReceiverName \"MyReceiver\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPFeature</command:name>\n      <maml:description>\n        <maml:para>Returns all activated or a specific activated feature</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPFeature</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPFeature</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>The scope of the feature. Defaults to Web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FeatureScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The feature ID or name to query for, Querying by name is not supported in version 15 of the Client Side Object Model</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FeaturePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The feature ID or name to query for, Querying by name is not supported in version 15 of the Client Side Object Model</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">FeaturePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FeaturePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>The scope of the feature. Defaults to Web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">FeatureScope</command:parameterValue>\n        <dev:type>\n          <maml:name>FeatureScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;Microsoft.SharePoint.Client.Feature&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFeature</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all activated web scoped features</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFeature -Scope Site</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all activated site scoped features</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFeature -Identity fb689d0e-eb99-4f13-beb3-86692fd39f22</dev:code>\n        <maml:remarks>\n          <maml:para>This will return a specific activated web scoped feature</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFeature -Identity fb689d0e-eb99-4f13-beb3-86692fd39f22 -Scope Site</dev:code>\n        <maml:remarks>\n          <maml:para>This will return a specific activated site scoped feature</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPField</command:name>\n      <maml:description>\n        <maml:para>Returns a field from a list or site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPField</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPField</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object or name where to get the field from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para>Filter to the specified group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The field object or name to get</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Group</maml:name>\n        <maml:description>\n          <maml:para>Filter to the specified group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The field object or name to get</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">FieldPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FieldPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object or name where to get the field from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Field</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPField</dev:code>\n        <maml:remarks>\n          <maml:para>Gets all the fields from the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPField -List \"Demo list\" -Identity \"Speakers\"</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the speakers field from the list Demo list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPFile</command:name>\n      <maml:description>\n        <maml:para>Downloads a file.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPFile</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The URL (server or site relative) to the file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The URL (server or site relative) to the file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AsListItem</maml:name>\n          <maml:description>\n            <maml:para>Returns the file as a listitem showing all its properties</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ThrowExceptionIfFileNotFound</maml:name>\n          <maml:description>\n            <maml:para>If provided in combination with -AsListItem, a Sytem.ArgumentException will be thrown if the file specified in the -Url argument does not exist. Otherwise it will return nothing instead.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The URL (server or site relative) to the file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AsString</maml:name>\n          <maml:description>\n            <maml:para>Retrieve the file contents as a string</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AsFile</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The URL (server or site relative) to the file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Local path where the file should be saved</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Filename</maml:name>\n          <maml:description>\n            <maml:para>Name for the local file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the file if it exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AsFile</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AsListItem</maml:name>\n        <maml:description>\n          <maml:para>Returns the file as a listitem showing all its properties</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AsString</maml:name>\n        <maml:description>\n          <maml:para>Retrieve the file contents as a string</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Filename</maml:name>\n        <maml:description>\n          <maml:para>Name for the local file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Overwrites the file if it exists.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Local path where the file should be saved</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ThrowExceptionIfFileNotFound</maml:name>\n        <maml:description>\n          <maml:para>If provided in combination with -AsListItem, a Sytem.ArgumentException will be thrown if the file specified in the -Url argument does not exist. Otherwise it will return nothing instead.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The URL (server or site relative) to the file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.File</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFile -Url /sites/project/_catalogs/themes/15/company.spcolor</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the file and downloads it to the current folder</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFile -Url /sites/project/_catalogs/themes/15/company.spcolor -Path c:\\temp -FileName company.spcolor -AsFile</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the file and downloads it to c:\\temp\\company.spcolor</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFile -Url /sites/project/_catalogs/themes/15/company.spcolor -AsString</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the file and outputs its contents to the console</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFile -Url /sites/project/_catalogs/themes/15/company.spcolor -AsFile</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the file and returns it as a File object</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFile -Url /sites/project/_catalogs/themes/15/company.spcolor -AsListItem</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the file and returns it as a ListItem object</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFile -Url _catalogs/themes/15/company.spcolor -Path c:\\temp -FileName company.spcolor -AsFile</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the file by site relative URL and downloads it to c:\\temp\\company.spcolor</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPFolder</command:name>\n      <maml:description>\n        <maml:para>Return a folder object</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPFolder</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Retrieves a folder if it exists. Use Ensure-PnPFolder to create the folder if it does not exist.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPFolder</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Site or server relative URL of the folder to retrieve. In the case of a server relative url, make sure that the url starts with the managed path as the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>Site or server relative URL of the folder to retrieve. In the case of a server relative url, make sure that the url starts with the managed path as the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Folder</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFolder -Url \"Shared Documents\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the folder called 'Shared Documents' which is located in the root of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFolder -Url \"/sites/demo/Shared Documents\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the folder called 'Shared Documents' which is located in the root of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Ensure-PnPFolder:</maml:linkText>\n        <maml:uri>https://github.com/OfficeDev/PnP-PowerShell/blob/master/Documentation/EnsureSPOFolder.md</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPFolderItem</command:name>\n      <maml:description>\n        <maml:para>List content in folder</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPFolderItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPFolderItem</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ItemType</maml:name>\n          <maml:description>\n            <maml:para>The type of contents to retrieve, either File, Folder or All (default)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ItemName</maml:name>\n          <maml:description>\n            <maml:para>Optional name of the item to retrieve</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FolderSiteRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>The site relative folder to retrieve</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>FolderSiteRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>The site relative folder to retrieve</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ItemName</maml:name>\n        <maml:description>\n          <maml:para>Optional name of the item to retrieve</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ItemType</maml:name>\n        <maml:description>\n          <maml:para>The type of contents to retrieve, either File, Folder or All (default)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFolderItem -FolderSiteRelativeUrl \"SitePages\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the contents of the folder SitePages which is located in the root of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFolderItem -FolderSiteRelativeUrl \"SitePages\" -ItemName \"Default.aspx\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the file 'Default.aspx' which is located in the folder SitePages which is located in the root of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFolderItem -FolderSiteRelativeUrl \"SitePages\" -ItemType Folder</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all folders in the folder SitePages which is located in the root of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPFolderItem -FolderSiteRelativeUrl \"SitePages\" -ItemType File</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all files in the folder SitePages which is located in the root of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPGroup</command:name>\n      <maml:description>\n        <maml:para>Returns a specific group or all groups.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPGroup</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Get a specific group by name</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPGroup</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AssociatedMemberGroup</maml:name>\n          <maml:description>\n            <maml:para>Retrieve the associated member group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPGroup</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AssociatedVisitorGroup</maml:name>\n          <maml:description>\n            <maml:para>Retrieve the associated visitor group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPGroup</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AssociatedOwnerGroup</maml:name>\n          <maml:description>\n            <maml:para>Retrieve the associated owner group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPGroup</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AssociatedMemberGroup</maml:name>\n        <maml:description>\n          <maml:para>Retrieve the associated member group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AssociatedOwnerGroup</maml:name>\n        <maml:description>\n          <maml:para>Retrieve the associated owner group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AssociatedVisitorGroup</maml:name>\n        <maml:description>\n          <maml:para>Retrieve the associated visitor group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Get a specific group by name</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;Microsoft.SharePoint.Client.Group&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPGroup</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all groups</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPGroup -Identity 'My Site Users'</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the group called 'My Site Users' if available</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPGroup -AssociatedMemberGroup</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the current members group for the site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPGroupMembers</command:name>\n      <maml:description>\n        <maml:para>Retrieves all members of a group</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPGroupMembers</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command will return all the users that are a member of the provided SharePoint Group</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPGroupMembers</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>A group object, an ID or a name of a group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>A group object, an ID or a name of a group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.User</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPGroupMembers -Identity 'Marketing Site Members'</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all the users that are a member of the group 'Marketing Site Members' in the current sitecollection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPGroup | Get-PnPGroupMembers</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all the users that are a member of any of the groups in the current sitecollection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPGroup | ? Title -Like 'Marketing*' | Get-PnPGroupMembers</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all the users that are a member of any of the groups of which their name starts with the word 'Marketing' in the current sitecollection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPGroupPermissions</command:name>\n      <maml:description>\n        <maml:para>Returns the permissions for a specific SharePoint group</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPGroupPermissions</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPGroupPermissions</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Get the permissions of a specific group by name</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Get the permissions of a specific group by name</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.RoleDefinitionBindingCollection</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPGroupPermissions -Identity 'My Site Members'</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the permissions for the SharePoint group with the name 'My Site Members'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPHealthScore</command:name>\n      <maml:description>\n        <maml:para>Retrieves the healthscore</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPHealthScore</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Retrieves the current health score value of the server which is a value between 0 and 10. Lower is better.</maml:para>\n    </maml:description>\n    <command:syntax />\n    <command:parameters />\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.Int32</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para>Returns a int value representing the current health score value of the server.</maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPHealthScore</dev:code>\n        <maml:remarks>\n          <maml:para>This will retrieve the current health score of the server.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPHealthScore -Url https://contoso.sharepoint.com</dev:code>\n        <maml:remarks>\n          <maml:para>This will retrieve the current health score for the url https://contoso.sharepoint.com.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPHideDefaultThemes</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns if the default / OOTB themes should be visible to users or not.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPHideDefaultThemes</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns if the default themes are visible. Use Set-PnPHideDefaultThemes to change this value.\n\nYou must be a SharePoint Online global administrator to run the cmdlet.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPHideDefaultThemes</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPHideDefaultThemes</dev:code>\n        <maml:remarks>\n          <maml:para>This example returns the current setting if the default themes should be visible</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPHomePage</command:name>\n      <maml:description>\n        <maml:para>Return the homepage</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPHomePage</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns the URL to the page set as home page</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPHomePage</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.String</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPHomePage</dev:code>\n        <maml:remarks>\n          <maml:para>Will return the URL of the home page of the web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPHubSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieve all or a specific hubsite.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPHubSite</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPHubSite</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPStorageEntity</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all site storage entities/farm properties</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite -Key MyKey</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the storage entity/farm property with the given key.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPHubSiteNavigation</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieve all or a specific hubsite.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPHubSiteNavigation</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPHubSiteNavigation</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPStorageEntity</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all site storage entities/farm properties</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite -Key MyKey</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the storage entity/farm property with the given key.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPIndexedPropertyKeys</command:name>\n      <maml:description>\n        <maml:para>Returns the keys of the property bag values that have been marked for indexing by search</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPIndexedPropertyKeys</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPIndexedPropertyKeys</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPInPlaceRecordsManagement</command:name>\n      <maml:description>\n        <maml:para>Returns if the place records management feature is enabled.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPInPlaceRecordsManagement</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPInPlaceRecordsManagement</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPInPlaceRecordsManagement</dev:code>\n        <maml:remarks>\n          <maml:para>Returns if $true if in place records management is active</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPJavaScriptLink</command:name>\n      <maml:description>\n        <maml:para>Returns all or a specific custom action(s) with location type ScriptLink</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPJavaScriptLink</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPJavaScriptLink</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>Scope of the action, either Web, Site or All to return both, defaults to Web</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CustomActionScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ThrowExceptionIfJavaScriptLinkNotFound</maml:name>\n          <maml:description>\n            <maml:para>Switch parameter if an exception should be thrown if the requested JavaScriptLink does not exist (true) or if omitted, nothing will be returned in case the JavaScriptLink does not exist</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>Name of the Javascript link. Omit this parameter to retrieve all script links</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>Name of the Javascript link. Omit this parameter to retrieve all script links</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>Scope of the action, either Web, Site or All to return both, defaults to Web</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CustomActionScope</command:parameterValue>\n        <dev:type>\n          <maml:name>CustomActionScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ThrowExceptionIfJavaScriptLinkNotFound</maml:name>\n        <maml:description>\n          <maml:para>Switch parameter if an exception should be thrown if the requested JavaScriptLink does not exist (true) or if omitted, nothing will be returned in case the JavaScriptLink does not exist</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.UserCustomAction</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPJavaScriptLink</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all web scoped JavaScript links</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPJavaScriptLink -Scope All</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all web and site scoped JavaScript links</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPJavaScriptLink -Scope Web</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all Web scoped JavaScript links</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPJavaScriptLink -Scope Site</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all Site scoped JavaScript links</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPJavaScriptLink -Name Test</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the web scoped JavaScript link named Test</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPList</command:name>\n      <maml:description>\n        <maml:para>Returns a List object</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPList</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPList</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ThrowExceptionIfListNotFound</maml:name>\n          <maml:description>\n            <maml:para>Switch parameter if an exception should be thrown if the requested list does not exist (true) or if omitted, nothing will be returned in case the list does not exist</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID, name or Url (Lists/MyList) of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID, name or Url (Lists/MyList) of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ThrowExceptionIfListNotFound</maml:name>\n        <maml:description>\n          <maml:para>Switch parameter if an exception should be thrown if the requested list does not exist (true) or if omitted, nothing will be returned in case the list does not exist</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.List</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPList</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all lists in the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPList -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>Returns a list with the given id.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPList -Identity Lists/Announcements</dev:code>\n        <maml:remarks>\n          <maml:para>Returns a list with the given url.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPListInformationRightsManagement</command:name>\n      <maml:description>\n        <maml:para>Get the site closure status of the site which has a site policy applied</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPListInformationRightsManagement</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPListInformationRightsManagement</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPListInformationRightsManagement -List \"Documents\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns Information Rights Management (IRM) settings for the list. See 'Get-Help Set-PnPListInformationRightsManagement -Detailed' for more information about the various values.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPListItem</command:name>\n      <maml:description>\n        <maml:para>Retrieves list items</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPListItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPListItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Id</maml:name>\n          <maml:description>\n            <maml:para>The ID of the item to retrieve</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Fields</maml:name>\n          <maml:description>\n            <maml:para>The fields to retrieve. If not specified all fields will be loaded in the returned list object.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPListItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UniqueId</maml:name>\n          <maml:description>\n            <maml:para>The unique id (GUID) of the item to retrieve</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Fields</maml:name>\n          <maml:description>\n            <maml:para>The fields to retrieve. If not specified all fields will be loaded in the returned list object.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPListItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Query</maml:name>\n          <maml:description>\n            <maml:para>The CAML query to execute against the list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PageSize</maml:name>\n          <maml:description>\n            <maml:para>The number of items to retrieve per page request.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ScriptBlock</maml:name>\n          <maml:description>\n            <maml:para>The script block to run after every page request.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ScriptBlock</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPListItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to query</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Fields</maml:name>\n          <maml:description>\n            <maml:para>The fields to retrieve. If not specified all fields will be loaded in the returned list object.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PageSize</maml:name>\n          <maml:description>\n            <maml:para>The number of items to retrieve per page request.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ScriptBlock</maml:name>\n          <maml:description>\n            <maml:para>The script block to run after every page request.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ScriptBlock</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Fields</maml:name>\n        <maml:description>\n          <maml:para>The fields to retrieve. If not specified all fields will be loaded in the returned list object.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Id</maml:name>\n        <maml:description>\n          <maml:para>The ID of the item to retrieve</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list to query</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PageSize</maml:name>\n        <maml:description>\n          <maml:para>The number of items to retrieve per page request.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Query</maml:name>\n        <maml:description>\n          <maml:para>The CAML query to execute against the list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ScriptBlock</maml:name>\n        <maml:description>\n          <maml:para>The script block to run after every page request.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ScriptBlock</command:parameterValue>\n        <dev:type>\n          <maml:name>ScriptBlock</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UniqueId</maml:name>\n        <maml:description>\n          <maml:para>The unique id (GUID) of the item to retrieve</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.ListItem</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPListItem -List Tasks</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all list items from the Tasks list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPListItem -List Tasks -Id 1</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the list item with ID 1 from from the Tasks list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPListItem -List Tasks -UniqueId bd6c5b3b-d960-4ee7-a02c-85dc6cd78cc3</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the list item with unique id bd6c5b3b-d960-4ee7-a02c-85dc6cd78cc3 from from the tasks lists</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; (Get-PnPListItem -List Tasks -Fields \"Title\",\"GUID\").FieldValues</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all list items, but only includes the values of the Title and GUID fields in the list item object</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPListItem -List Tasks -Query \"&lt;View&gt;&lt;Query&gt;&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name='GUID'/&gt;&lt;Value Type='Guid'&gt;bd6c5b3b-d960-4ee7-a02c-85dc6cd78cc3&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;&lt;/Query&gt;&lt;/View&gt;\"</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all list items based on the CAML query specified</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPListItem -List Tasks -PageSize 1000</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all list items from the Tasks list in pages of 1000 items</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 7---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPListItem -List Tasks -PageSize 1000 -ScriptBlock { Param($items) $items.Context.ExecuteQuery() } | % { $_.BreakRoleInheritance($true, $true) }</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all list items from the Tasks list in pages of 1000 items and breaks permission inheritance on each item</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPListRecordDeclaration</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns the manual record declaration settings for a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPListRecordDeclaration</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPListRecordDeclaration</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to retrieve the record declaration settings for</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list to retrieve the record declaration settings for</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPListRecordDeclaration -List \"Documents\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the record declaration setting for the list \"Documents\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPMasterPage</command:name>\n      <maml:description>\n        <maml:para>Returns the URLs of the default Master Page and the custom Master Page.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPMasterPage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPMasterPage</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPNavigationNode</command:name>\n      <maml:description>\n        <maml:para>Returns all or a specific navigation node</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPNavigationNode</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPNavigationNode</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Location</maml:name>\n          <maml:description>\n            <maml:para>The location of the nodes to retrieve. Either TopNavigationBar, QuickLaunch</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">NavigationType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPNavigationNode</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Id</maml:name>\n          <maml:description>\n            <maml:para>The Id of the node to retrieve</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Id</maml:name>\n        <maml:description>\n          <maml:para>The Id of the node to retrieve</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Location</maml:name>\n        <maml:description>\n          <maml:para>The location of the nodes to retrieve. Either TopNavigationBar, QuickLaunch</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">NavigationType</command:parameterValue>\n        <dev:type>\n          <maml:name>NavigationType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPNavigationNode</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all navigation nodes in the quicklaunch navigation</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPNavigationNode -QuickLaunch</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all navigation nodes in the quicklaunch navigation</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPNavigationNode -TopNavigationBar</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all navigation nodes in the top navigation bar</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $node = Get-PnPNavigationNode -Id 2030\nPS&gt; $children = $node.Children</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the selected navigation node and retrieves any children</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPAccessToken</command:name>\n      <maml:description>\n        <maml:para>Returns the current OAuth Access token</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPAccessToken</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Gets the OAuth 2.0 Access Token to consume the Microsoft Graph API</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPAccessToken</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Decoded</maml:name>\n          <maml:description>\n            <maml:para>Returns the access token in a decoded manner</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Decoded</maml:name>\n        <maml:description>\n          <maml:para>Returns the access token in a decoded manner</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAccessToken</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the OAuth 2.0 Access Token to consume the Microsoft Graph API</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPAzureCertificate</command:name>\n      <maml:description>\n        <maml:para>Get PEM values and manifest settings for an existing certificate (.pfx) for use when using CSOM via an app-only ADAL application.\n\nSee https://github.com/SharePoint/PnP-PowerShell/tree/master/Samples/SharePoint.ConnectUsingAppPermissions for a sample on how to get started.\n\nKeyCredentials contains the ADAL app manifest sections.\n\nCertificate contains the PEM encoded certificate.\n\nPrivateKey contains the PEM encoded private key of the certificate.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPAzureCertificate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPAzureCertificate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CertificatePath</maml:name>\n          <maml:description>\n            <maml:para>Path to the certificate (*.pfx)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CertificatePassword</maml:name>\n          <maml:description>\n            <maml:para>Password to the certificate (*.pfx)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SecureString</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CertificatePassword</maml:name>\n        <maml:description>\n          <maml:para>Password to the certificate (*.pfx)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SecureString</command:parameterValue>\n        <dev:type>\n          <maml:name>SecureString</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CertificatePath</maml:name>\n        <maml:description>\n          <maml:para>Path to the certificate (*.pfx)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAzureCertificate -CertificatePath \"mycert.pfx\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will output PEM values and ADAL app manifest settings for the certificate mycert.pfx.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAzureCertificate -CertificatePath \"mycert.pfx\" -CertificatePassword (ConvertTo-SecureString -String \"YourPassword\" -AsPlainText -Force)</dev:code>\n        <maml:remarks>\n          <maml:para>This will output PEM values and ADAL app manifest settings for the certificate mycert.pfx which has the password YourPassword.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAzureCertificate -CertificatePath \"mycert.cer\" | clip</dev:code>\n        <maml:remarks>\n          <maml:para>Output the JSON snippet which needs to be replaced in the application manifest file and copies it to the clipboard</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPAppAuthAccessToken</command:name>\n      <maml:description>\n        <maml:para>Returns the access token</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPAppAuthAccessToken</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns the access token from the current client context (only works with App-Only authentication)</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPAppAuthAccessToken</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.String</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $accessToken = Get-PnPAppAuthAccessToken</dev:code>\n        <maml:remarks>\n          <maml:para>This will put the access token from current context in the $accessToken variable. Will only work in App authentication flow (App+user or App-Only)</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPConnection</command:name>\n      <maml:description>\n        <maml:para>Returns the current context</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPConnection</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns a PnP PowerShell Connection for use with the -Connection parameter on other cmdlets.</maml:para>\n    </maml:description>\n    <command:syntax />\n    <command:parameters />\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $ctx = Get-PnPConnection</dev:code>\n        <maml:remarks>\n          <maml:para>This will put the current connection for use with the -Connection parameter on other cmdlets.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSiteCollectionTermStore</command:name>\n      <maml:description>\n        <maml:para>Returns the site collection term store</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSiteCollectionTermStore</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSiteCollectionTermStore</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Taxonomy.TermStore</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteCollectionTermStore</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the site collection term store.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPStorageEntity</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieve Storage Entities / Farm Properties.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPStorageEntity</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPStorageEntity</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para>The key of the value to retrieve.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para>The key of the value to retrieve.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPStorageEntity</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all site storage entities/farm properties</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPStorageEntity -Key MyKey</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the storage entity/farm property with the given key.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPPropertyBag</command:name>\n      <maml:description>\n        <maml:para>Returns the property bag values.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPPropertyBag</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPPropertyBag</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>Site relative url of the folder. See examples for use.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para>Key that should be looked up</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>Site relative url of the folder. See examples for use.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para>Key that should be looked up</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>SharePointPnP.PowerShell.Commands.PropertyBagValue</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPPropertyBag</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all web property bag values</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPPropertyBag -Key MyKey</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the value of the key MyKey from the web property bag</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPPropertyBag -Folder /MyFolder</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all property bag values for the folder MyFolder which is located in the root of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPPropertyBag -Folder /MyFolder -Key vti_mykey</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the value of the key vti_mykey from the folder MyFolder which is located in the root of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPPropertyBag -Folder / -Key vti_mykey</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the value of the key vti_mykey from the root folder of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Generates a provisioning template from a web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPProvisioningTemplate</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IncludeAllTermGroups</maml:name>\n          <maml:description>\n            <maml:para>If specified, all term groups will be included. Overrides IncludeSiteCollectionTermGroup.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IncludeSiteCollectionTermGroup</maml:name>\n          <maml:description>\n            <maml:para>If specified, all the site collection term groups will be included. Overridden by IncludeAllTermGroups.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IncludeSiteGroups</maml:name>\n          <maml:description>\n            <maml:para>If specified all site groups will be included.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IncludeTermGroupsSecurity</maml:name>\n          <maml:description>\n            <maml:para>If specified all the managers and contributors of term groups will be included.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IncludeSearchConfiguration</maml:name>\n          <maml:description>\n            <maml:para>If specified the template will contain the current search configuration of the site.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PersistBrandingFiles</maml:name>\n          <maml:description>\n            <maml:para>If specified the files used for masterpages, sitelogo, alternate CSS and the files that make up the composed look will be saved.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PersistPublishingFiles</maml:name>\n          <maml:description>\n            <maml:para>If specified the files used for the publishing feature will be saved.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IncludeNativePublishingFiles</maml:name>\n          <maml:description>\n            <maml:para>If specified, out of the box / native publishing files will be saved.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipVersionCheck</maml:name>\n          <maml:description>\n            <maml:para>During extraction the version of the server will be checked for certain actions. If you specify this switch, this check will be skipped.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PersistMultiLanguageResources</maml:name>\n          <maml:description>\n            <maml:para>If specified, resource values for applicable artifacts will be persisted to a resource file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ResourceFilePrefix</maml:name>\n          <maml:description>\n            <maml:para>If specified, resource files will be saved with the specified prefix instead of using the template name specified. If no template name is specified the files will be called PnP-Resources.&lt;language&gt;.resx. See examples for more info.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Handlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to only process a specific type of artifact in the site. Notice that this might result in a non-working template, as some of the handlers require other artifacts in place if they are not part of what your extracting.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Handlers</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExcludeHandlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to run all handlers, excluding the ones specified.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Handlers</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExtensibilityHandlers</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ExtensbilityHandlers to execute while extracting a template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ExtensibilityHandler[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while extracting a template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ContentTypeGroups</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify from which content type group(s) the content types should be included into the template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the output file if it exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Encoding</maml:name>\n          <maml:description>\n            <maml:para>The encoding type of the XML file, Unicode is default</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Encoding</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateDisplayName</maml:name>\n          <maml:description>\n            <maml:para>It can be used to specify the DisplayName of the template file that will be extracted.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateImagePreviewUrl</maml:name>\n          <maml:description>\n            <maml:para>It can be used to specify the ImagePreviewUrl of the template file that will be extracted.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateProperties</maml:name>\n          <maml:description>\n            <maml:para>It can be used to specify custom Properties for the template file that will be extracted.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OutputInstance</maml:name>\n          <maml:description>\n            <maml:para>Returns the template as an in-memory object, which is an instance of the ProvisioningTemplate type of the PnP Core Component. It cannot be used together with the -Out parameter.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExcludeContentTypesFromSyndication</maml:name>\n          <maml:description>\n            <maml:para>Specify whether or not content types issued from a content hub should be exported. By default, these content types are included.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Out</maml:name>\n          <maml:description>\n            <maml:para>Filename to write to, optionally including full path</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"1\">\n          <maml:name>Schema</maml:name>\n          <maml:description>\n            <maml:para>The schema of the output to use, defaults to the latest schema</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">XMLPnPSchemaVersion</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ContentTypeGroups</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify from which content type group(s) the content types should be included into the template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Encoding</maml:name>\n        <maml:description>\n          <maml:para>The encoding type of the XML file, Unicode is default</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Encoding</command:parameterValue>\n        <dev:type>\n          <maml:name>Encoding</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ExcludeContentTypesFromSyndication</maml:name>\n        <maml:description>\n          <maml:para>Specify whether or not content types issued from a content hub should be exported. By default, these content types are included.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ExcludeHandlers</maml:name>\n        <maml:description>\n          <maml:para>Allows you to run all handlers, excluding the ones specified.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Handlers</command:parameterValue>\n        <dev:type>\n          <maml:name>Handlers</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ExtensibilityHandlers</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ExtensbilityHandlers to execute while extracting a template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ExtensibilityHandler[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ExtensibilityHandler[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Overwrites the output file if it exists.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Handlers</maml:name>\n        <maml:description>\n          <maml:para>Allows you to only process a specific type of artifact in the site. Notice that this might result in a non-working template, as some of the handlers require other artifacts in place if they are not part of what your extracting.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Handlers</command:parameterValue>\n        <dev:type>\n          <maml:name>Handlers</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IncludeAllTermGroups</maml:name>\n        <maml:description>\n          <maml:para>If specified, all term groups will be included. Overrides IncludeSiteCollectionTermGroup.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IncludeNativePublishingFiles</maml:name>\n        <maml:description>\n          <maml:para>If specified, out of the box / native publishing files will be saved.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IncludeSearchConfiguration</maml:name>\n        <maml:description>\n          <maml:para>If specified the template will contain the current search configuration of the site.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IncludeSiteCollectionTermGroup</maml:name>\n        <maml:description>\n          <maml:para>If specified, all the site collection term groups will be included. Overridden by IncludeAllTermGroups.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IncludeSiteGroups</maml:name>\n        <maml:description>\n          <maml:para>If specified all site groups will be included.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IncludeTermGroupsSecurity</maml:name>\n        <maml:description>\n          <maml:para>If specified all the managers and contributors of term groups will be included.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Out</maml:name>\n        <maml:description>\n          <maml:para>Filename to write to, optionally including full path</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OutputInstance</maml:name>\n        <maml:description>\n          <maml:para>Returns the template as an in-memory object, which is an instance of the ProvisioningTemplate type of the PnP Core Component. It cannot be used together with the -Out parameter.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PersistBrandingFiles</maml:name>\n        <maml:description>\n          <maml:para>If specified the files used for masterpages, sitelogo, alternate CSS and the files that make up the composed look will be saved.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PersistMultiLanguageResources</maml:name>\n        <maml:description>\n          <maml:para>If specified, resource values for applicable artifacts will be persisted to a resource file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PersistPublishingFiles</maml:name>\n        <maml:description>\n          <maml:para>If specified the files used for the publishing feature will be saved.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ResourceFilePrefix</maml:name>\n        <maml:description>\n          <maml:para>If specified, resource files will be saved with the specified prefix instead of using the template name specified. If no template name is specified the files will be called PnP-Resources.&lt;language&gt;.resx. See examples for more info.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"1\">\n        <maml:name>Schema</maml:name>\n        <maml:description>\n          <maml:para>The schema of the output to use, defaults to the latest schema</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">XMLPnPSchemaVersion</command:parameterValue>\n        <dev:type>\n          <maml:name>XMLPnPSchemaVersion</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SkipVersionCheck</maml:name>\n        <maml:description>\n          <maml:para>During extraction the version of the server will be checked for certain actions. If you specify this switch, this check will be skipped.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateDisplayName</maml:name>\n        <maml:description>\n          <maml:para>It can be used to specify the DisplayName of the template file that will be extracted.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateImagePreviewUrl</maml:name>\n        <maml:description>\n          <maml:para>It can be used to specify the ImagePreviewUrl of the template file that will be extracted.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateProperties</maml:name>\n        <maml:description>\n          <maml:para>It can be used to specify custom Properties for the template file that will be extracted.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateProviderExtensions</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ITemplateProviderExtension to execute while extracting a template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ITemplateProviderExtension[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ITemplateProviderExtension[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.xml</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in XML format from the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp -Schema V201503</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web and saves it in the V201503 version of the schema.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp -IncludeAllTermGroups</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web and includes all term groups, term sets and terms from the Managed Metadata Service Taxonomy.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp -IncludeSiteCollectionTermGroup</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web and includes the term group currently (if set) assigned to the site collection.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp -PersistComposedLookFiles</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web and saves the files that make up the composed look to the same folder as where the template is saved.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 7---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp -Handlers Lists, SiteSecurity</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web, but only processes lists and site security when generating the template.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 8---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>\nPS:&gt; $handler1 = New-PnPExtensibilityHandlerObject -Assembly Contoso.Core.Handlers -Type Contoso.Core.Handlers.MyExtensibilityHandler1\nPS:&gt; $handler2 = New-PnPExtensibilityHandlerObject -Assembly Contoso.Core.Handlers -Type Contoso.Core.Handlers.MyExtensibilityHandler1\nPS:&gt; Get-PnPProvisioningTemplate -Out NewTemplate.xml -ExtensibilityHandlers $handler1,$handler2</dev:code>\n        <maml:remarks>\n          <maml:para>This will create two new ExtensibilityHandler objects that are run during extraction of the template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 9---------------------</maml:title>\n        <maml:introduction>\n          <maml:para>Only supported on SP2016 and SP Online</maml:para>\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp -PersistMultiLanguageResources</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web, and for supported artifacts it will create a resource file for each supported language (based upon the language settings of the current web). The generated resource files will be named after the value specified in the Out parameter. For instance if the Out parameter is specified as -Out 'template.xml' the generated resource file will be called 'template.en-US.resx'.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 10---------------------</maml:title>\n        <maml:introduction>\n          <maml:para>Only supported on SP2016 and SP Online</maml:para>\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp -PersistMultiLanguageResources -ResourceFilePrefix MyResources</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web, and for supported artifacts it will create a resource file for each supported language (based upon the language settings of the current web). The generated resource files will be named 'MyResources.en-US.resx' etc.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 11---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $template = Get-PnPProvisioningTemplate -OutputInstance</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts an instance of a provisioning template object from the current web. This syntax cannot be used together with the -Out parameter, but it can be used together with any other supported parameters.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 12---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp -ContentTypeGroups \"Group A\",\"Group B\"</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web, but only processes content types from the to given content type groups.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 13---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPProvisioningTemplate -Out template.pnp -ExcludeContentTypesFromSyndication</dev:code>\n        <maml:remarks>\n          <maml:para>Extracts a provisioning template in Office Open XML from the current web, excluding content types provisioned through content type syndication (content type hub), in order to prevent provisioning errors if the target also provision the content type using syndication.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Encoding:</maml:linkText>\n        <maml:uri>https://msdn.microsoft.com/en-us/library/system.text.encoding_properties.aspx</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPProvisioningTemplateFromGallery</command:name>\n      <maml:description>\n        <maml:para>Retrieves or searches provisioning templates from the PnP Template Gallery</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPProvisioningTemplateFromGallery</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPProvisioningTemplateFromGallery</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Guid</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPProvisioningTemplateFromGallery</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Search</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TargetPlatform</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">TargetPlatform</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TargetScope</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">TargetScope</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Guid</command:parameterValue>\n        <dev:type>\n          <maml:name>Guid</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Search</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TargetPlatform</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">TargetPlatform</command:parameterValue>\n        <dev:type>\n          <maml:name>TargetPlatform</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TargetScope</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">TargetScope</command:parameterValue>\n        <dev:type>\n          <maml:name>TargetScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Get-PnPProvisioningTemplateFromGallery</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all templates from the gallery</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Get-PnPProvisioningTemplateFromGallery -Search \"Data\"</dev:code>\n        <maml:remarks>\n          <maml:para>Searches for a templates containing the word 'Data' in the Display Name</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Get-PnPProvisioningTemplateFromGallery -Identity ae925674-8aa6-438b-acd0-d2699a022edd</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves a template with the specified ID</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>$template = Get-PnPProvisioningTemplateFromGallery -Identity ae925674-8aa6-438b-acd0-d2699a022edd\nApply-PnPProvisioningTemplate -InputInstance $template</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves a template with the specified ID and applies it to the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>$template = Get-PnPProvisioningTemplateFromGallery -Identity ae925674-8aa6-438b-acd0-d2699a022edd -Path c:\\temp</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves a template with the specified ID and saves the template to the specified path</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPPublishingImageRendition</command:name>\n      <maml:description>\n        <maml:para>Returns all image renditions or if Identity is specified a specific one</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPPublishingImageRendition</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPPublishingImageRendition</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Id or name of an existing image rendition</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ImageRenditionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Id or name of an existing image rendition</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ImageRenditionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ImageRenditionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Publishing.ImageRendition</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPPublishingImageRendition</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all Image Renditions</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPPublishingImageRendition -Identity \"Test\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the image rendition named \"Test\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPPublishingImageRendition -Identity 2</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the image rendition where its id equals 2</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPRecycleBinItem</command:name>\n      <maml:description>\n        <maml:para>Returns the items in the recycle bin from the context</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPRecycleBinItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPRecycleBinItem</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Returns a recycle bin item with a specific identity</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPRecycleBinItem</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FirstStage</maml:name>\n          <maml:description>\n            <maml:para>Return all items in the first stage recycle bin</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPRecycleBinItem</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SecondStage</maml:name>\n          <maml:description>\n            <maml:para>Return all items in the second stage recycle bin</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPRecycleBinItem</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>FirstStage</maml:name>\n        <maml:description>\n          <maml:para>Return all items in the first stage recycle bin</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Returns a recycle bin item with a specific identity</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SecondStage</maml:name>\n        <maml:description>\n          <maml:para>Return all items in the second stage recycle bin</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.RecycleBinItem</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPRecycleBinItem</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all items in both the first and the second stage recycle bins in the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPRecycleBinItem -Identity f3ef6195-9400-4121-9d1c-c997fb5b86c2</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all a specific recycle bin item by id</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPRecycleBinItem -FirstStage</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all items in only the first stage recycle bin in the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPRecycleBinItem -SecondStage</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all items in only the second stage recycle bin in the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPRequestAccessEmails</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns the request access e-mail addresses</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPRequestAccessEmails</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPRequestAccessEmails</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;System.String&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPRequestAccessEmails</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all the request access e-mail addresses for the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPRoleDefinition</command:name>\n      <maml:description>\n        <maml:para>Retrieves a Role Definitions of a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPRoleDefinition</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPRoleDefinition</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The name of a role definition to retrieve.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">RoleDefinitionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The name of a role definition to retrieve.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">RoleDefinitionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>RoleDefinitionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.RoleDefinition</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPRoleDefinition</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the Role Definitions (Permission Levels) settings of the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPRoleDefinition -Identity Read</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the specified Role Definition (Permission Level) settings of the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSearchConfiguration</command:name>\n      <maml:description>\n        <maml:para>Returns the search configuration</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSearchConfiguration</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSearchConfiguration</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Local path where the search configuration will be saved</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>Scope to use. Either Web, Site, or Subscription. Defaults to Web</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SearchConfigurationScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSearchConfiguration</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OutputFormat</maml:name>\n          <maml:description>\n            <maml:para>Output format for of the configuration. Defaults to complete XML</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">OutputFormat</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>Scope to use. Either Web, Site, or Subscription. Defaults to Web</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SearchConfigurationScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OutputFormat</maml:name>\n        <maml:description>\n          <maml:para>Output format for of the configuration. Defaults to complete XML</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">OutputFormat</command:parameterValue>\n        <dev:type>\n          <maml:name>OutputFormat</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Local path where the search configuration will be saved</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>Scope to use. Either Web, Site, or Subscription. Defaults to Web</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SearchConfigurationScope</command:parameterValue>\n        <dev:type>\n          <maml:name>SearchConfigurationScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.String</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para>Does not return a string when the -Path parameter has been specified.</maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSearchConfiguration</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the search configuration for the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSearchConfiguration -Scope Site</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the search configuration for the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSearchConfiguration -Scope Subscription</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the search configuration for the current tenant</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSearchConfiguration -Path searchconfig.xml -Scope Subscription</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the search configuration for the current tenant and saves it to the specified file</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSearchConfiguration -Scope Site -OutputFormat ManagedPropertyMappings</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all custom managed properties and crawled property mapping at the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSite</command:name>\n      <maml:description>\n        <maml:para>Returns the current site collection from the context.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSite</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSite</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Site</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSite</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSiteClassification</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns the defined Site Classifications for the tenant. Requires a connection to the Microsoft Graph.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSiteClassification</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax />\n    <command:parameters />\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Get-PnPSiteClassification</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the currently set site classifications for the tenant.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSiteClosure</command:name>\n      <maml:description>\n        <maml:para>Get the site closure status of the site which has a site policy applied</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSiteClosure</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSiteClosure</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteClosure</dev:code>\n        <maml:remarks>\n          <maml:para>Get the site closure status of the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSiteCollectionAdmin</command:name>\n      <maml:description>\n        <maml:para>Returns the current site collection administrators of the site colleciton in the current context</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSiteCollectionAdmin</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command will return all current site collection administrators of the site collection in the current context</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSiteCollectionAdmin</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteCollectionAdmin</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all the current site collection administrators of the site collection in the current context</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSiteDesign</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieve Site Designs that have been registered on the current tenant.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSiteDesign</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSiteDesign</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>If specified will retrieve the specified site design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>If specified will retrieve the specified site design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">TenantSiteDesignPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteDesignPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteDesign</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all registered site designs</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteDesign -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd</dev:code>\n        <maml:remarks>\n          <maml:para>Returns a specific registered site designs</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSiteDesignRights</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns the principals with design rights on a specific Site Design</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSiteDesignRights</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSiteDesignRights</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the Site Design to receive the rights for</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the Site Design to receive the rights for</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteDesignPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteDesignRights -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the principals with rights on a specific site design</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSitePolicy</command:name>\n      <maml:description>\n        <maml:para>Retrieves all or a specific site policy</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSitePolicy</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSitePolicy</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllAvailable</maml:name>\n          <maml:description>\n            <maml:para>Retrieve all available site policies</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>Retrieves a site policy with a specific name</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllAvailable</maml:name>\n        <maml:description>\n          <maml:para>Retrieve all available site policies</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>Retrieves a site policy with a specific name</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>OfficeDevPnP.Core.Entities.SitePolicyEntity</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSitePolicy</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves the current applied site policy.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSitePolicy -AllAvailable</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all available site policies.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSitePolicy -Name \"Contoso HBI\"</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves an available site policy with the name \"Contoso HBI\".</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSiteScript</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieve Site Scripts that have been registered on the current tenant.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSiteScript</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSiteScript</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>If specified will retrieve the specified site script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteScriptPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SiteDesign</maml:name>\n          <maml:description>\n            <maml:para>If specified will retrieve the site scripts for this design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>If specified will retrieve the specified site script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">TenantSiteScriptPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteScriptPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SiteDesign</maml:name>\n        <maml:description>\n          <maml:para>If specified will retrieve the site scripts for this design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">TenantSiteDesignPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteDesignPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteScript</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all registered site scripts</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteScript -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd</dev:code>\n        <maml:remarks>\n          <maml:para>Returns a specific registered site script</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSiteSearchQueryResults</command:name>\n      <maml:description>\n        <maml:para>Executes a search query to retrieve indexed site collections</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSiteSearchQueryResults</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSiteSearchQueryResults</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StartRow</maml:name>\n          <maml:description>\n            <maml:para>Search result item to start returning the results from. Useful for paging. Leave at 0 to return all results.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MaxResults</maml:name>\n          <maml:description>\n            <maml:para>Maximum amount of search results to return. Default and max is 500 search results.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Query</maml:name>\n          <maml:description>\n            <maml:para>Search query in Keyword Query Language (KQL) to execute to refine the returned sites. If omitted, all indexed sites will be returned.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSiteSearchQueryResults</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>All</maml:name>\n          <maml:description>\n            <maml:para>Automatically page results until the end to get more than 500 sites. Use with caution!</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Query</maml:name>\n          <maml:description>\n            <maml:para>Search query in Keyword Query Language (KQL) to execute to refine the returned sites. If omitted, all indexed sites will be returned.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>All</maml:name>\n        <maml:description>\n          <maml:para>Automatically page results until the end to get more than 500 sites. Use with caution!</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MaxResults</maml:name>\n        <maml:description>\n          <maml:para>Maximum amount of search results to return. Default and max is 500 search results.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Query</maml:name>\n        <maml:description>\n          <maml:para>Search query in Keyword Query Language (KQL) to execute to refine the returned sites. If omitted, all indexed sites will be returned.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StartRow</maml:name>\n        <maml:description>\n          <maml:para>Search result item to start returning the results from. Useful for paging. Leave at 0 to return all results.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;System.Object&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteSearchQueryResults</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the top 500 site collections indexed by SharePoint Search</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteSearchQueryResults -Query \"WebTemplate:STS\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the top 500 site collections indexed by SharePoint Search which have are based on the STS (Team Site) template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteSearchQueryResults -Query \"WebTemplate:SPSPERS\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the top 500 site collections indexed by SharePoint Search which have are based on the SPSPERS (MySite) template, up to the MaxResult limit</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteSearchQueryResults -Query \"Title:Intranet*\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the top 500 site collections indexed by SharePoint Search of which the title starts with the word Intranet</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteSearchQueryResults -MaxResults 10</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the top 10 site collections indexed by SharePoint Search</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteSearchQueryResults -All</dev:code>\n        <maml:remarks>\n          <maml:para>Returns absolutely all site collections indexed by SharePoint Search</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPContext</command:name>\n      <maml:description>\n        <maml:para>Returns the current context</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPContext</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns a Client Side Object Model context</maml:para>\n    </maml:description>\n    <command:syntax />\n    <command:parameters />\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.ClientContext</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $ctx = Get-PnPContext</dev:code>\n        <maml:remarks>\n          <maml:para>This will put the current context in the $ctx variable.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPStoredCredential</command:name>\n      <maml:description>\n        <maml:para>Get a credential</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPStoredCredential</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns a stored credential from the Windows Credential Manager</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPStoredCredential</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The credential to retrieve.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Type</maml:name>\n          <maml:description>\n            <maml:para>The object type of the credential to return from the Credential Manager. Possible valus are 'O365', 'OnPrem' or 'PSCredential'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CredentialType</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The credential to retrieve.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Type</maml:name>\n        <maml:description>\n          <maml:para>The object type of the credential to return from the Credential Manager. Possible valus are 'O365', 'OnPrem' or 'PSCredential'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CredentialType</command:parameterValue>\n        <dev:type>\n          <maml:name>CredentialType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPStoredCredential -Name O365</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the credential associated with the specified identifier</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPStoredCredential -Name testEnvironment -Type OnPrem</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the credential associated with the specified identifier from the credential manager and then will return a credential that can be used for on-premises authentication</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPSubWebs</command:name>\n      <maml:description>\n        <maml:para>Returns the subwebs of the current web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPSubWebs</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPSubWebs</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Recurse</maml:name>\n          <maml:description>\n            <maml:para>If provided, recursion through all subsites and their childs will take place to return them as well</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>If provided, only the subsite with the provided Id, GUID or the Web instance will be returned</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>If provided, only the subsite with the provided Id, GUID or the Web instance will be returned</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Recurse</maml:name>\n        <maml:description>\n          <maml:para>If provided, recursion through all subsites and their childs will take place to return them as well</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Web</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSubWebs</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all subsites of the current context returning the Id, Url, Title and ServerRelativeUrl of each subsite in the output</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSubWebs -Recurse</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all subsites of the current context and all of their nested child subsites returning the Id, Url, Title and ServerRelativeUrl of each subsite in the output</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSubWebs -Recurse -Includes \"WebTemplate\",\"Description\" | Select ServerRelativeUrl, WebTemplate, Description</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all subsites of the current context and shows the ServerRelativeUrl, WebTemplate and Description properties in the resulting output</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSubWebs -Identity Team1 -Recurse</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all subsites of the subsite Team1 and all of its nested child subsites returning the Id, Url, Title and ServerRelativeUrl of each subsite in the output</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTaxonomyItem</command:name>\n      <maml:description>\n        <maml:para>Returns a taxonomy item</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTaxonomyItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTaxonomyItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermPath</maml:name>\n          <maml:description>\n            <maml:para>The path, delimited by | of the taxonomy item to retrieve, alike GROUPLABEL|TERMSETLABEL|TERMLABEL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermPath</maml:name>\n        <maml:description>\n          <maml:para>The path, delimited by | of the taxonomy item to retrieve, alike GROUPLABEL|TERMSETLABEL|TERMLABEL</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Taxonomy.TaxonomyItem</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTaxonomySession</command:name>\n      <maml:description>\n        <maml:para>Returns a taxonomy session</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTaxonomySession</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTaxonomySession</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Taxonomy.TaxonomySession</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTenant</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns organization-level site collection properties</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTenant</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns organization-level site collection properties such as StorageQuota, StorageQuotaAllocated, ResourceQuota,\nResourceQuotaAllocated, and SiteCreationMode.\n\nCurrently, there are no parameters for this cmdlet.\n\nYou must be a SharePoint Online global administrator to run the cmdlet.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTenant</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenant</dev:code>\n        <maml:remarks>\n          <maml:para>This example returns all tenant settings</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTenantAppCatalogUrl</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieves the url of the tenant scoped app catalog.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTenantAppCatalogUrl</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTenantAppCatalogUrl</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantAppCatalogUrl</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the url of the tenant scoped app catalog site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTenantCdnEnabled</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieves if the Office 365 Content Delivery Network has been enabled.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTenantCdnEnabled</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Enables or disabled the public or private Office 365 Content Delivery Network (CDN).</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTenantCdnEnabled</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CdnType</maml:name>\n          <maml:description>\n            <maml:para>The type of cdn to retrieve the origins from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CdnType</maml:name>\n        <maml:description>\n          <maml:para>The type of cdn to retrieve the origins from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOTenantCdnType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantCdnEnabled -CdnType Public</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the enabled status of the specified CDN</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTenantCdnOrigin</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns the current registered origins from the public or private content delivery network (CDN).</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTenantCdnOrigin</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns the current registered origins from the public or private content delivery network (CDN).</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTenantCdnOrigin</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CdnType</maml:name>\n          <maml:description>\n            <maml:para>The type of cdn to retrieve the origins from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CdnType</maml:name>\n        <maml:description>\n          <maml:para>The type of cdn to retrieve the origins from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOTenantCdnType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantCdnOrigin -CdnType Public</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the configured CDN origins for the specified CDN type</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTenantCdnPolicies</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns the CDN Policies for the specified CDN (Public | Private).</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTenantCdnPolicies</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Enables or disabled the public or private Office 365 Content Delivery Network (CDN).</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTenantCdnPolicies</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CdnType</maml:name>\n          <maml:description>\n            <maml:para>The type of cdn to retrieve the policies from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CdnType</maml:name>\n        <maml:description>\n          <maml:para>The type of cdn to retrieve the policies from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOTenantCdnType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantCdnPolicies -CdnType Public</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the policies for the specified CDN type</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTenantRecycleBinItem</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns the items in the tenant scoped recycle bin</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTenantRecycleBinItem</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command will return all the items in the tenant recycle bin for the Office 365 tenant you are connected to. Be sure to connect to the SharePoint Online Admin endpoint (https://yourtenantname-admin.sharepoint.com) in order for this command to work.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTenantRecycleBinItem</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.Online.SharePoint.TenantAdministration.DeletedSiteProperties</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantRecycleBinItem</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all site collections in the tenant scoped recycle bin</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTenantSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieve site information.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTenantSite</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Use this cmdlet to retrieve site information from your tenant administration.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTenantSite</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Template</maml:name>\n          <maml:description>\n            <maml:para>By default, all sites will be returned. Specify a template value alike \"STS#0\" here to filter on the template</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Detailed</maml:name>\n          <maml:description>\n            <maml:para>By default, not all returned attributes are populated. This switch populates all attributes. It can take several seconds to run. Without this, some attributes will show default values that may not be correct.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IncludeOneDriveSites</maml:name>\n          <maml:description>\n            <maml:para>By default, the OneDrives are not returned. This switch includes all OneDrives.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Filter</maml:name>\n          <maml:description>\n            <maml:para>Specifies the script block of the server-side filter to apply. See https://technet.microsoft.com/en-us/library/fp161380.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The URL of the site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Detailed</maml:name>\n        <maml:description>\n          <maml:para>By default, not all returned attributes are populated. This switch populates all attributes. It can take several seconds to run. Without this, some attributes will show default values that may not be correct.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Filter</maml:name>\n        <maml:description>\n          <maml:para>Specifies the script block of the server-side filter to apply. See https://technet.microsoft.com/en-us/library/fp161380.aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IncludeOneDriveSites</maml:name>\n        <maml:description>\n          <maml:para>By default, the OneDrives are not returned. This switch includes all OneDrives.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Template</maml:name>\n        <maml:description>\n          <maml:para>By default, all sites will be returned. Specify a template value alike \"STS#0\" here to filter on the template</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The URL of the site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.Online.SharePoint.TenantAdministration.SiteProperties</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all site collections</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite -Url http://tenant.sharepoint.com/sites/projects</dev:code>\n        <maml:remarks>\n          <maml:para>Returns information about the project site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite -Detailed</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all sites with the full details of these sites</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite -IncludeOneDriveSites</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all sites including all OneDrive for Business sites</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite -IncludeOneDriveSites -Filter \"Url -like '-my.sharepoint.com/personal/'\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all OneDrive for Business sites</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite -Template SITEPAGEPUBLISHING#0</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all Communication sites</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 7---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite -Filter \"Url -like 'sales'\" </dev:code>\n        <maml:remarks>\n          <maml:para>Returns all sites including 'sales' in the url</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTenantTheme</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns all or a specific theme</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTenantTheme</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns all or a specific tenant theme.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTenantTheme</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the theme to retrieve</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the theme to retrieve</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantTheme</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all themes</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantTheme -Name \"MyCompanyTheme\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the specified theme</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTerm</command:name>\n      <maml:description>\n        <maml:para>Returns a taxonomy term</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTerm</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTerm</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermSet</maml:name>\n          <maml:description>\n            <maml:para>Name of the termset to check.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Title or TaxonomyItem</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermGroup</maml:name>\n          <maml:description>\n            <maml:para>Name of the termgroup to check.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Title or TermGroup</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Id or Name of a Term</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Name or Object</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStore</maml:name>\n          <maml:description>\n            <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Name or Object</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Recursive</maml:name>\n          <maml:description>\n            <maml:para>Find the first term recursivly matching the label in a term hierarchy.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Id or Name of a Term</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Name or Object</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Name or Object</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Recursive</maml:name>\n        <maml:description>\n          <maml:para>Find the first term recursivly matching the label in a term hierarchy.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermGroup</maml:name>\n        <maml:description>\n          <maml:para>Name of the termgroup to check.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Id, Title or TermGroup</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Title or TermGroup</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermSet</maml:name>\n        <maml:description>\n          <maml:para>Name of the termset to check.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Id, Title or TaxonomyItem</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Title or TaxonomyItem</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStore</maml:name>\n        <maml:description>\n          <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Name or Object</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Name or Object</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Taxonomy.Term</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTerm -TermSet \"Departments\" -TermGroup \"Corporate\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all term in the termset \"Departments\" which is in the group \"Corporate\" from the site collection termstore</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTerm -Identity \"Finance\" -TermSet \"Departments\" -TermGroup \"Corporate\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the term named \"Finance\" in the termset \"Departments\" from the termgroup called \"Corporate\" from the site collection termstore</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTerm -Identity ab2af486-e097-4b4a-9444-527b251f1f8d -TermSet \"Departments\" -TermGroup \"Corporate\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the term named with the given id, from the \"Departments\" termset in a term group called \"Corporate\" from the site collection termstore</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTerm -Identity \"Small Finance\" -TermSet \"Departments\" -TermGroup \"Corporate\" -Recursive</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the term named \"Small Finance\", from the \"Departments\" termset in a term group called \"Corporate\" from the site collection termstore even if it's a subterm below \"Finance\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTermGroup</command:name>\n      <maml:description>\n        <maml:para>Returns a taxonomy term group</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTermGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTermGroup</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStore</maml:name>\n          <maml:description>\n            <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Name or Object</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Name of the taxonomy term group to retrieve.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Title or TaxonomyItem</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Name of the taxonomy term group to retrieve.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Title or TaxonomyItem</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Title or TaxonomyItem</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStore</maml:name>\n        <maml:description>\n          <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Name or Object</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Name or Object</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Taxonomy.TermGroup</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTermGroup</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all Term Groups in the site collection termstore</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTermGroup -Identity \"Departments\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the termgroup named \"Departments\" from the site collection termstore</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTermGroup -Identity ab2af486-e097-4b4a-9444-527b251f1f8d</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the termgroup with the given ID from the site collection termstore</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTermSet</command:name>\n      <maml:description>\n        <maml:para>Returns a taxonomy term set</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTermSet</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTermSet</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermGroup</maml:name>\n          <maml:description>\n            <maml:para>Name of the term group to check.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Title or TermGroup</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Id or Name of a termset</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Name or Object</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStore</maml:name>\n          <maml:description>\n            <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Name or Object</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Id or Name of a termset</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Name or Object</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Name or Object</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermGroup</maml:name>\n        <maml:description>\n          <maml:para>Name of the term group to check.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Id, Title or TermGroup</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Title or TermGroup</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStore</maml:name>\n        <maml:description>\n          <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Name or Object</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Name or Object</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Taxonomy.TermSet</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTermSet -TermGroup \"Corporate\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all termsets in the group \"Corporate\" from the site collection termstore</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTermSet -Identity \"Departments\" -TermGroup \"Corporate\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the termset named \"Departments\" from the termgroup called \"Corporate\" from the site collection termstore</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTermSet -Identity ab2af486-e097-4b4a-9444-527b251f1f8d -TermGroup \"Corporate</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the termset with the given id from the termgroup called \"Corporate\" from the site collection termstore</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTheme</command:name>\n      <maml:description>\n        <maml:para>Returns the current theme/composed look of the current web.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTheme</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTheme</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DetectCurrentComposedLook</maml:name>\n          <maml:description>\n            <maml:para>Specify this switch to not use the PnP Provisioning engine based composed look information but try to detect the current composed look as is.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DetectCurrentComposedLook</maml:name>\n        <maml:description>\n          <maml:para>Specify this switch to not use the PnP Provisioning engine based composed look information but try to detect the current composed look as is.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>OfficeDevPnP.Core.Entities.ThemeEntity</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTheme</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the current composed look of the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTheme -DetectCurrentComposedLook</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the current composed look of the current web, and will try to detect the currently applied composed look based upon the actual site. Without this switch the cmdlet will first check for the presence of a property bag variable called _PnP_ProvisioningTemplateComposedLookInfo that contains composed look information when applied through the provisioning engine or the Set-PnPTheme cmdlet.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPTimeZoneId</command:name>\n      <maml:description>\n        <maml:para>Returns a time zone ID</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPTimeZoneId</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>In order to create a new classic site you need to specify the timezone this site will use. Use the cmdlet to retrieve a list of possible values.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPTimeZoneId</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Match</maml:name>\n          <maml:description>\n            <maml:para>A string to search for like 'Stockholm'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Match</maml:name>\n        <maml:description>\n          <maml:para>A string to search for like 'Stockholm'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;SharePointPnP.PowerShell.Commands.GetTimeZoneId+Zone&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para>Returns a list of matching zones. Use the ID property of the object for use in New-SPOTenantSite</maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTimeZoneId</dev:code>\n        <maml:remarks>\n          <maml:para>This will return all time zone IDs in use by Office 365.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTimeZoneId -Match Stockholm</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the time zone IDs for Stockholm</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPUnifiedGroup</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nGets one Office 365 Group (aka Unified Group) or a list of Office 365 Groups</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPUnifiedGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPUnifiedGroup</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Identity of the Office 365 Group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UnifiedGroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExcludeSiteUrl</maml:name>\n          <maml:description>\n            <maml:para>Exclude fetching the site URL for Office 365 Groups. This speeds up large listings.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ExcludeSiteUrl</maml:name>\n        <maml:description>\n          <maml:para>Exclude fetching the site URL for Office 365 Groups. This speeds up large listings.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Identity of the Office 365 Group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UnifiedGroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UnifiedGroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUnifiedGroup</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all the Office 365 Groups</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUnifiedGroup -Identity $groupId</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves a specific Office 365 Group based on its ID</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUnifiedGroup -Identity $groupDisplayName</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves a specific or list of Office 365 Groups that start with the given DisplayName</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUnifiedGroup -Identity $groupSiteMailNickName</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves a specific or list of Office 365 Groups for which the email starts with the provided mail nickName</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUnifiedGroup -Identity $group</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves a specific Office 365 Group based on its object instance</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPUnifiedGroupMembers</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nGets members of a paricular Office 365 Group (aka Unified Group)</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPUnifiedGroupMembers</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPUnifiedGroupMembers</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Identity of the Office 365 Group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UnifiedGroupPipeBind</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Identity of the Office 365 Group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">UnifiedGroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UnifiedGroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUnifiedGroupMembers -Identity $groupId</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all the members of a specific Office 365 Group based on its ID</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUnifiedGroupMembers -Identity $group</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all the members of a specific Office 365 Group based on the group's object instance</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPUnifiedGroupOwners</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nGets owners of a paricular Office 365 Group (aka Unified Group)</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPUnifiedGroupOwners</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPUnifiedGroupOwners</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Identity of the Office 365 Group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UnifiedGroupPipeBind</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Identity of the Office 365 Group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">UnifiedGroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UnifiedGroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUnifiedGroupOwners -Identity $groupId</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all the owners of a specific Office 365 Group based on its ID</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUnifiedGroupOwners -Identity $group</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all the owners of a specific Office 365 Group based on the group's object instance</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPUser</command:name>\n      <maml:description>\n        <maml:para>Returns site users of current web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPUser</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command will return all the users that exist in the current site collection its User Information List</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPUser</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>User ID or login name</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UserPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"1\">\n          <maml:name>WithRightsAssigned</maml:name>\n          <maml:description>\n            <maml:para>If provided, only users that currently have any kinds of access rights assigned to the current site collection will be returned. Otherwise all users, even those who previously had rights assigned, but not anymore at the moment, will be returned as the information is pulled from the User Information List. Only works if you don't provide an -Identity.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>User ID or login name</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UserPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UserPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"1\">\n        <maml:name>WithRightsAssigned</maml:name>\n        <maml:description>\n          <maml:para>If provided, only users that currently have any kinds of access rights assigned to the current site collection will be returned. Otherwise all users, even those who previously had rights assigned, but not anymore at the moment, will be returned as the information is pulled from the User Information List. Only works if you don't provide an -Identity.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.User</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUser</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all users from the User Information List of the current site collection regardless if they currently have rights to access the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUser -Identity 23</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the user with Id 23 from the User Information List of the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUser -Identity i:0#.f|membership|user@tenant.onmicrosoft.com</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the user with LoginName i:0#.f|membership|user@tenant.onmicrosoft.com from the User Information List of the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUser | ? Email -eq \"user@tenant.onmicrosoft.com\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the user with e-mail address user@tenant.onmicrosoft.com from the User Information List of the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUser -WithRightsAssigned</dev:code>\n        <maml:remarks>\n          <maml:para>Returns only those users from the User Information List of the current site collection who currently have any kind of access rights given either directly to the user or Active Directory Group or given to the user or Active Directory Group via membership of a SharePoint Group to the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUser -WithRightsAssigned -Web subsite1</dev:code>\n        <maml:remarks>\n          <maml:para>Returns only those users from the User Information List of the current site collection who currently have any kind of access rights given either directly to the user or Active Directory Group or given to the user or Active Directory Group via membership of a SharePoint Group to subsite 'subsite1'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPUserProfileProperty</command:name>\n      <maml:description>\n        <maml:para>You must connect to the tenant admin website (https://:&lt;tenant&gt;-admin.sharepoint.com) with Connect-PnPOnline in order to use this cmdlet. \n</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPUserProfileProperty</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Requires a connection to a SharePoint Tenant Admin site.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPUserProfileProperty</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Account</maml:name>\n          <maml:description>\n            <maml:para>The account of the user, formatted either as a login name, or as a claims identity, e.g. i:0#.f|membership|user@domain.com</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Account</maml:name>\n        <maml:description>\n          <maml:para>The account of the user, formatted either as a login name, or as a claims identity, e.g. i:0#.f|membership|user@domain.com</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.UserProfiles.PersonProperties</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUserProfileProperty -Account 'user@domain.com'</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the profile properties for the specified user</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUserProfileProperty -Account 'user@domain.com','user2@domain.com'</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the profile properties for the specified users</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPView</command:name>\n      <maml:description>\n        <maml:para>Returns one or all views from a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPView</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPView</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID or name of the view</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ViewPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID or name of the view</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ViewPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ViewPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.View</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Get-PnPView -List \"Demo List\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all views associated from the specified list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Get-PnPView -List \"Demo List\" -Identity \"Demo View\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the view called \"Demo View\" from the specified list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Get-PnPView -List \"Demo List\" -Identity \"5275148a-6c6c-43d8-999a-d2186989a661\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the view with the specified ID from the specified list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWeb</command:name>\n      <maml:description>\n        <maml:para>Returns the current web object</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWeb</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWeb</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The guid of the web or web object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The guid of the web or web object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Web</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWeb</dev:code>\n        <maml:remarks>\n          <maml:para>This will return the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWebhookSubscriptions</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nGets all the Webhook subscriptions of the resource</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWebhookSubscriptions</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWebhookSubscriptions</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object or name to get the Webhook subscriptions from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object or name to get the Webhook subscriptions from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>OfficeDevPnP.Core.Entities.WebhookSubscription</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWebhookSubscriptions -List MyList</dev:code>\n        <maml:remarks>\n          <maml:para>Gets all Webhook subscriptions of the list MyList</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWebPart</command:name>\n      <maml:description>\n        <maml:para>Returns a webpart definition object</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWebPart</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWebPart</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Full server relative URL of the webpart page, e.g. /sites/mysite/sitepages/home.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The identity of the webpart, this can be the webpart guid or an webpart object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPartPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The identity of the webpart, this can be the webpart guid or an webpart object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPartPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPartPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>Full server relative URL of the webpart page, e.g. /sites/mysite/sitepages/home.aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;Microsoft.SharePoint.Client.WebParts.WebPartDefinition&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWebPart -ServerRelativePageUrl \"/sites/demo/sitepages/home.aspx\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all webparts defined on the given page.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWebPart -ServerRelativePageUrl \"/sites/demo/sitepages/home.aspx\" -Identity a2875399-d6ff-43a0-96da-be6ae5875f82</dev:code>\n        <maml:remarks>\n          <maml:para>Returns a specific webpart defined on the given page.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWebPartProperty</command:name>\n      <maml:description>\n        <maml:para>Returns a web part property</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWebPartProperty</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWebPartProperty</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Full server relative URL of the webpart page, e.g. /sites/mysite/sitepages/home.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The id of the webpart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para>Name of a single property to be returned</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The id of the webpart</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para>Name of a single property to be returned</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>Full server relative URL of the webpart page, e.g. /sites/mysite/sitepages/home.aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWebPartProperty -ServerRelativePageUrl /sites/demo/sitepages/home.aspx -Identity ccd2c98a-c9ae-483b-ae72-19992d583914</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all properties of the webpart.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWebPartProperty -ServerRelativePageUrl /sites/demo/sitepages/home.aspx -Identity ccd2c98a-c9ae-483b-ae72-19992d583914 -Key \"Title\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the title property of the webpart.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWebPartXml</command:name>\n      <maml:description>\n        <maml:para>Returns the webpart XML of a webpart registered on a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWebPartXml</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWebPartXml</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Full server relative url of the webpart page, e.g. /sites/mysite/sitepages/home.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Id or title of the webpart. Use Get-PnPWebPart to retrieve all webpart Ids</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPartPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Id or title of the webpart. Use Get-PnPWebPart to retrieve all webpart Ids</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WebPartPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPartPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>Full server relative url of the webpart page, e.g. /sites/mysite/sitepages/home.aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.String</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWebPartXml -ServerRelativePageUrl \"/sites/demo/sitepages/home.aspx\" -Identity a2875399-d6ff-43a0-96da-be6ae5875f82</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the webpart XML for a given webpart on a page.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWebTemplates</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns the available web templates.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWebTemplates</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Will list all available templates one can use to create a classic site.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWebTemplates</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Lcid</maml:name>\n          <maml:description>\n            <maml:para>The language ID. For instance: 1033 for English</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CompatibilityLevel</maml:name>\n          <maml:description>\n            <maml:para>The version of SharePoint</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CompatibilityLevel</maml:name>\n        <maml:description>\n          <maml:para>The version of SharePoint</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Lcid</maml:name>\n        <maml:description>\n          <maml:para>The language ID. For instance: 1033 for English</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.Online.SharePoint.TenantAdministration.SPOTenantWebTemplateCollection</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWebTemplates</dev:code>\n        <maml:remarks>\n          <maml:para />\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWebTemplates -LCID 1033</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all webtemplates for the Locale with ID 1033 (English)</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWebTemplates -CompatibilityLevel 15</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all webtemplates for the compatibility level 15</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Locale IDs:</maml:linkText>\n        <maml:uri>http://go.microsoft.com/fwlink/p/?LinkId=242911Id=242911</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWikiPageContent</command:name>\n      <maml:description>\n        <maml:para>Gets the contents/source of a wiki page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWikiPageContent</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWikiPageContent</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>The server relative URL for the wiki page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>The server relative URL for the wiki page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.String</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWikiPageContent -PageUrl '/sites/demo1/pages/wikipage.aspx'</dev:code>\n        <maml:remarks>\n          <maml:para>Gets the content of the page '/sites/demo1/pages/wikipage.aspx'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWorkflowDefinition</command:name>\n      <maml:description>\n        <maml:para>Returns a workflow definition</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWorkflowDefinition</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns a workflow definition</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWorkflowDefinition</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PublishedOnly</maml:name>\n          <maml:description>\n            <maml:para>Return only the published workflows</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the workflow</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the workflow</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PublishedOnly</maml:name>\n        <maml:description>\n          <maml:para>Return only the published workflows</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.WorkflowServices.WorkflowDefinition</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWorkflowDefinition -Name MyWorkflow</dev:code>\n        <maml:remarks>\n          <maml:para>Gets a Workflow with the name \"MyWorkflow\".</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWorkflowDefinition -Name MyWorkflow -PublishedOnly $false</dev:code>\n        <maml:remarks>\n          <maml:para>Gets a Workflow with the name \"MyWorkflow\" that is published.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWorkflowInstance</command:name>\n      <maml:description>\n        <maml:para>Get workflow instances</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWorkflowInstance</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Gets all workflow instances</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWorkflowInstance</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The List for which workflow instances should be retrieved</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>ListItem</maml:name>\n          <maml:description>\n            <maml:para>The List Item for which workflow instances should be retrieved</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The List for which workflow instances should be retrieved</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>ListItem</maml:name>\n        <maml:description>\n          <maml:para>The List Item for which workflow instances should be retrieved</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWorkflowInstance -List \"My Library\" -ListItem $ListItem</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves workflow instances running against the provided item on list \"My Library\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWorkflowInstance -List \"My Library\" -ListItem 2</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves workflow instances running against the provided item with 2 in the list \"My Library\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Get-PnPWorkflowSubscription</command:name>\n      <maml:description>\n        <maml:para>Return a workflow subscription</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Get</command:verb>\n      <command:noun>PnPWorkflowSubscription</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns a workflow subscriptions from a list</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Get-PnPWorkflowSubscription</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the workflow</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"1\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>A list to search the association for</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"1\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>A list to search the association for</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the workflow</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.WorkflowServices.WorkflowSubscription</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWorkflowSubscription -Name MyWorkflow</dev:code>\n        <maml:remarks>\n          <maml:para>Gets an Workflow subscription with the name \"MyWorkflow\".</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWorkflowSubscription -Name MyWorkflow -list $list</dev:code>\n        <maml:remarks>\n          <maml:para>Gets an Workflow subscription with the name \"MyWorkflow\" from the list $list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPList -identity \"MyList\" | Get-PnPWorkflowSubscription -Name MyWorkflow</dev:code>\n        <maml:remarks>\n          <maml:para>Gets an Workflow subscription with the name \"MyWorkflow\" from the list \"MyList\".</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Grant-PnPHubSiteRights</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRetrieve all or a specific hubsite.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Grant</command:verb>\n      <command:noun>PnPHubSiteRights</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Grant-PnPHubSiteRights</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPStorageEntity</dev:code>\n        <maml:remarks>\n          <maml:para>Returns all site storage entities/farm properties</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantSite -Key MyKey</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the storage entity/farm property with the given key.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Grant-PnPSiteDesignRights</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nGrants the specified principals rights to use the site design.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Grant</command:verb>\n      <command:noun>PnPSiteDesignRights</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Grant-PnPSiteDesignRights</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Principals</maml:name>\n          <maml:description>\n            <maml:para>One or more principals to grant rights to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The site design to use.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Rights</maml:name>\n          <maml:description>\n            <maml:para>The rights to set. Defaults to 'View'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteDesignPrincipalRights</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The site design to use.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteDesignPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Principals</maml:name>\n        <maml:description>\n          <maml:para>One or more principals to grant rights to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Rights</maml:name>\n        <maml:description>\n          <maml:para>The rights to set. Defaults to 'View'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">TenantSiteDesignPrincipalRights</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteDesignPrincipalRights</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Grant-PnPSiteDesignRights -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd -Principals \"myuser@mydomain.com\",\"myotheruser@mydomain.com\"</dev:code>\n        <maml:remarks>\n          <maml:para>Grants the specified principals View rights on the site design specified</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteDesign -Title \"MySiteDesign\" -SiteScriptIds 438548fd-60dd-42cf-b843-2db506c8e259 -WebTemplate TeamSite | Grant-PnPSiteDesignRights -Principals \"myuser@mydomain.com\",\"myotheruser@mydomain.com\"</dev:code>\n        <maml:remarks>\n          <maml:para>Grants the specified principals View rights on the site design specified</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Import-PnPAppPackage</command:name>\n      <maml:description>\n        <maml:para>Adds a SharePoint Addin to a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Import</command:verb>\n      <command:noun>PnPAppPackage</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This commands requires that you have an addin package to deploy</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Import-PnPAppPackage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Path pointing to the .app file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Will forcibly install the app by activating the addin sideloading feature, installing the addin, and deactivating the sideloading feature</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LoadOnly</maml:name>\n          <maml:description>\n            <maml:para>Will only upload the addin, but not install it</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Locale</maml:name>\n          <maml:description>\n            <maml:para>Will install the addin for the specified locale</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Will forcibly install the app by activating the addin sideloading feature, installing the addin, and deactivating the sideloading feature</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>LoadOnly</maml:name>\n        <maml:description>\n          <maml:para>Will only upload the addin, but not install it</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Locale</maml:name>\n        <maml:description>\n          <maml:para>Will install the addin for the specified locale</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Path pointing to the .app file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.AppInstance</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Import-PnPAppPackage -Path c:\\files\\demo.app -LoadOnly</dev:code>\n        <maml:remarks>\n          <maml:para>This will load the addin in the demo.app package, but will not install it to the site.\n </maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Import-PnPAppPackage -Path c:\\files\\demo.app -Force</dev:code>\n        <maml:remarks>\n          <maml:para>This load first activate the addin sideloading feature, upload and install the addin, and deactivate the addin sideloading feature.\n    </maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Import-PnPTaxonomy</command:name>\n      <maml:description>\n        <maml:para>Imports a taxonomy from either a string array or a file</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Import</command:verb>\n      <command:noun>PnPTaxonomy</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Import-PnPTaxonomy</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Terms</maml:name>\n          <maml:description>\n            <maml:para>An array of strings describing termgroup, termset, term, subterms using a default delimiter of '|'.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Lcid</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStoreName</maml:name>\n          <maml:description>\n            <maml:para>Term store to import to; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Delimiter</maml:name>\n          <maml:description>\n            <maml:para>The path delimiter to be used, by default this is '|'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SynchronizeDeletions</maml:name>\n          <maml:description>\n            <maml:para>If specified, terms that exist in the termset, but are not in the imported data, will be removed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Import-PnPTaxonomy</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Specifies a file containing terms per line, in the format as required by the Terms parameter.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Lcid</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStoreName</maml:name>\n          <maml:description>\n            <maml:para>Term store to import to; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Delimiter</maml:name>\n          <maml:description>\n            <maml:para>The path delimiter to be used, by default this is '|'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SynchronizeDeletions</maml:name>\n          <maml:description>\n            <maml:para>If specified, terms that exist in the termset, but are not in the imported data, will be removed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Delimiter</maml:name>\n        <maml:description>\n          <maml:para>The path delimiter to be used, by default this is '|'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Lcid</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Specifies a file containing terms per line, in the format as required by the Terms parameter.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SynchronizeDeletions</maml:name>\n        <maml:description>\n          <maml:para>If specified, terms that exist in the termset, but are not in the imported data, will be removed.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Terms</maml:name>\n        <maml:description>\n          <maml:para>An array of strings describing termgroup, termset, term, subterms using a default delimiter of '|'.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStoreName</maml:name>\n        <maml:description>\n          <maml:para>Term store to import to; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Import-PnPTaxonomy -Terms 'Company|Locations|Stockholm'</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new termgroup, 'Company', a termset 'Locations' and a term 'Stockholm'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Import-PnPTaxonomy -Terms 'Company|Locations|Stockholm|Central','Company|Locations|Stockholm|North'</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new termgroup, 'Company', a termset 'Locations', a term 'Stockholm' and two subterms: 'Central', and 'North'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Import-PnPTermGroupFromXml</command:name>\n      <maml:description>\n        <maml:para>Imports a taxonomy TermGroup from either the input or from an XML file.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Import</command:verb>\n      <command:noun>PnPTermGroupFromXml</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Import-PnPTermGroupFromXml</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Xml</maml:name>\n          <maml:description>\n            <maml:para>The XML to process</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Import-PnPTermGroupFromXml</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>The XML File to import the data from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>The XML File to import the data from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Xml</maml:name>\n        <maml:description>\n          <maml:para>The XML to process</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Import-PnPTermGroupFromXml -Xml $xml</dev:code>\n        <maml:remarks>\n          <maml:para>Imports the XML based termgroup information located in the $xml variable</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Import-PnPTermGroupFromXml -Path input.xml</dev:code>\n        <maml:remarks>\n          <maml:para>Imports the XML file specified by the path.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Import-PnPTermSet</command:name>\n      <maml:description>\n        <maml:para>Imports a taxonomy term set from a file in the standard format.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Import</command:verb>\n      <command:noun>PnPTermSet</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>The format of the file is the same as that used by the import function in the web interface. A sample file can be obtained from the web interface.\n\nThis is a CSV file, with the following headings:\n\n  Term Set Name,Term Set Description,LCID,Available for Tagging,Term Description,Level 1 Term,Level 2 Term,Level 3 Term,Level 4 Term,Level 5 Term,Level 6 Term,Level 7 Term\n\nThe first data row must contain the Term Set Name, Term Set Description, and LCID, and should also contain the first term. \n\nIt is recommended that a fixed GUID be used as the termSetId, to allow the term set to be easily updated (so do not pass Guid.Empty).\n\nIn contrast to the web interface import, this is not a one-off import but runs synchronisation logic allowing updating of an existing Term Set. When synchronising, any existing terms are matched (with Term Description and Available for Tagging updated as necessary), any new terms are added in the correct place in the hierarchy, and (if synchroniseDeletions is set) any terms not in the imported file are removed.\n\nThe import file also supports an expanded syntax for the Term Set Name and term names (Level 1 Term, Level 2 Term, etc). These columns support values with the format 'Name | GUID', with the name and GUID separated by a pipe character (note that the pipe character is invalid to use within a taxomony item name). This expanded syntax is not required, but can be used to ensure all terms have fixed IDs.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Import-PnPTermSet</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>GroupName</maml:name>\n          <maml:description>\n            <maml:para>Group to import the term set to; an error is returned if the group does not exist.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Local path to the file containing the term set to import, in the standard format (as the 'sample import file' available in the Term Store Administration).</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermSetId</maml:name>\n          <maml:description>\n            <maml:para>GUID to use for the term set; if not specified, or the empty GUID, a random GUID is generated and used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Guid</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SynchronizeDeletions</maml:name>\n          <maml:description>\n            <maml:para>If specified, the import will remove any terms (and children) previously in the term set but not in the import file; default is to leave them.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IsOpen</maml:name>\n          <maml:description>\n            <maml:para>Whether the term set should be marked open; if not specified, then the existing setting is not changed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Contact</maml:name>\n          <maml:description>\n            <maml:para>Contact for the term set; if not specified, the existing setting is retained.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Owner</maml:name>\n          <maml:description>\n            <maml:para>Owner for the term set; if not specified, the existing setting is retained.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStoreName</maml:name>\n          <maml:description>\n            <maml:para>Term store to import into; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Contact</maml:name>\n        <maml:description>\n          <maml:para>Contact for the term set; if not specified, the existing setting is retained.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>GroupName</maml:name>\n        <maml:description>\n          <maml:para>Group to import the term set to; an error is returned if the group does not exist.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IsOpen</maml:name>\n        <maml:description>\n          <maml:para>Whether the term set should be marked open; if not specified, then the existing setting is not changed.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Owner</maml:name>\n        <maml:description>\n          <maml:para>Owner for the term set; if not specified, the existing setting is retained.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Local path to the file containing the term set to import, in the standard format (as the 'sample import file' available in the Term Store Administration).</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SynchronizeDeletions</maml:name>\n        <maml:description>\n          <maml:para>If specified, the import will remove any terms (and children) previously in the term set but not in the import file; default is to leave them.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermSetId</maml:name>\n        <maml:description>\n          <maml:para>GUID to use for the term set; if not specified, or the empty GUID, a random GUID is generated and used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Guid</command:parameterValue>\n        <dev:type>\n          <maml:name>Guid</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStoreName</maml:name>\n        <maml:description>\n          <maml:para>Term store to import into; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Import-PnPTermSet -GroupName 'Standard Terms' -Path 'C:\\\\Temp\\\\ImportTermSet.csv' -SynchronizeDeletions</dev:code>\n        <maml:remarks>\n          <maml:para>Creates (or updates) the term set specified in the import file, in the group specified, removing any existing terms not in the file.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Import-PnPTermSet -TermStoreName 'My Term Store' -GroupName 'Standard Terms' -Path 'C:\\\\Temp\\\\ImportTermSet.csv' -TermSetId '{15A98DB6-D8E2-43E6-8771-066C1EC2B8D8}' </dev:code>\n        <maml:remarks>\n          <maml:para>Creates (or updates) the term set specified in the import file, in the term store and group specified, using the specified ID.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Import-PnPTermSet -GroupName 'Standard Terms' -Path 'C:\\\\Temp\\\\ImportTermSet.csv' -IsOpen $true -Contact 'user@example.org' -Owner 'user@example.org'</dev:code>\n        <maml:remarks>\n          <maml:para>Creates (or updates) the term set specified in the import file, setting the IsOpen, Contact, and Owner properties as specified.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Install-PnPApp</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nInstalls an available app from the app catalog</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Install</command:verb>\n      <command:noun>PnPApp</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Install-PnPApp</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id or an actual app metadata instance</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Id or an actual app metadata instance</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>AppMetadataPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Install-PnPApp -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>This will install an available app, specified by the id, to the current site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPAvailableApp -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe | Install-PnPApp</dev:code>\n        <maml:remarks>\n          <maml:para>This will install the given app into the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Install-PnPSolution</command:name>\n      <maml:description>\n        <maml:para>Installs a sandboxed solution to a site collection. WARNING! This method can delete your composed look gallery due to the method used to activate the solution. We recommend you to only to use this cmdlet if you are okay with that.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Install</command:verb>\n      <command:noun>PnPSolution</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Install-PnPSolution</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PackageId</maml:name>\n          <maml:description>\n            <maml:para>ID of the solution, from the solution manifest</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SourceFilePath</maml:name>\n          <maml:description>\n            <maml:para>Path to the sandbox solution package (.WSP) file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MajorVersion</maml:name>\n          <maml:description>\n            <maml:para>Optional major version of the solution, defaults to 1</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinorVersion</maml:name>\n          <maml:description>\n            <maml:para>Optional minor version of the solution, defaults to 0</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MajorVersion</maml:name>\n        <maml:description>\n          <maml:para>Optional major version of the solution, defaults to 1</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MinorVersion</maml:name>\n        <maml:description>\n          <maml:para>Optional minor version of the solution, defaults to 0</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PackageId</maml:name>\n        <maml:description>\n          <maml:para>ID of the solution, from the solution manifest</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SourceFilePath</maml:name>\n        <maml:description>\n          <maml:para>Path to the sandbox solution package (.WSP) file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Install-PnPSolution -PackageId c2f5b025-7c42-4d3a-b579-41da3b8e7254 -SourceFilePath mypackage.wsp</dev:code>\n        <maml:remarks>\n          <maml:para>Installs the package to the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Invoke-PnPQuery</command:name>\n      <maml:description>\n        <maml:para>Executes the currently queued actions</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Invoke</command:verb>\n      <command:noun>PnPQuery</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Executes any queued actions / changes on the SharePoint Client Side Object Model Context</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Invoke-PnPQuery</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryCount</maml:name>\n          <maml:description>\n            <maml:para>Number of times to retry in case of throttling. Defaults to 10.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetryWait</maml:name>\n          <maml:description>\n            <maml:para>Delay in seconds. Defaults to 1.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RetryCount</maml:name>\n        <maml:description>\n          <maml:para>Number of times to retry in case of throttling. Defaults to 10.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RetryWait</maml:name>\n        <maml:description>\n          <maml:para>Delay in seconds. Defaults to 1.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Invoke-PnPQuery -RetryCount 5</dev:code>\n        <maml:remarks>\n          <maml:para>This will execute any queued actions / changes on the SharePoint Client Side Object Model Context and will retry 5 times in case of throttling.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Invoke-PnPQuery -RetryWait 10</dev:code>\n        <maml:remarks>\n          <maml:para>This will execute any queued actions / changes on the SharePoint Client Side Object Model Context and delay the execution for 10 seconds before it retries the execution.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Invoke-PnPSiteDesign</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nApply a Site Design to an existing site. * Requires Tenant Administration Rights *</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Invoke</command:verb>\n      <command:noun>PnPSiteDesign</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Invoke-PnPSiteDesign</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Site Design Id or an actual Site Design object to apply</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WebUrl</maml:name>\n          <maml:description>\n            <maml:para>The URL of the web to apply the site design to. If not specified it will default to the current web based upon the URL specified with Connect-PnPOnline.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Site Design Id or an actual Site Design object to apply</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteDesignPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>WebUrl</maml:name>\n        <maml:description>\n          <maml:para>The URL of the web to apply the site design to. If not specified it will default to the current web based upon the URL specified with Connect-PnPOnline.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Invoke-PnPSiteDesign -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd</dev:code>\n        <maml:remarks>\n          <maml:para>Applies the specified site design to the current site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Invoke-PnPSiteDesign -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd -WebUrl https://contoso.sharepoint.com/sites/mydemosite</dev:code>\n        <maml:remarks>\n          <maml:para>Applies the specified site design to the specified site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteDesign | ?{$_.Title -eq \"Demo\"} | Invoke-PnPSiteDesign</dev:code>\n        <maml:remarks>\n          <maml:para>Applies the specified site design to the specified site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Invoke-PnPWebAction</command:name>\n      <maml:description>\n        <maml:para>Executes operations on web, lists and list items.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Invoke</command:verb>\n      <command:noun>PnPWebAction</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Invoke-PnPWebAction</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Webs</maml:name>\n          <maml:description>\n            <maml:para>Webs you want to process (for example different site collections), will use Web parameter if not specified</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Web[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WebAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the web. There is one input parameter of type Web</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Web</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ShouldProcessWebAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the web that would determine if WebAction should be invoked, There is one input parameter of type Web and the function should return a boolean value</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Web</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PostWebAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the web, this will trigger after lists and list items have been processed. There is one input parameter of type Web</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Web</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ShouldProcessPostWebAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the web that would determine if PostWebAction should be invoked, There is one input parameter of type Web and the function should return a boolean value</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Web</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WebProperties</maml:name>\n          <maml:description>\n            <maml:para>The properties to load for web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ListAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the list. There is one input parameter of type List</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">List</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ShouldProcessListAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the web that would determine if ListAction should be invoked, There is one input parameter of type List and the function should return a boolean value</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">List</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PostListAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the list, this will trigger after list items have been processed. There is one input parameter of type List</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">List</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ShouldProcessPostListAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the web that would determine if PostListAction should be invoked, There is one input parameter of type List and the function should return a boolean value</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">List</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ListProperties</maml:name>\n          <maml:description>\n            <maml:para>The properties to load for list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ListItemAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the list item. There is one input parameter of type ListItem</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItem</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ShouldProcessListItemAction</maml:name>\n          <maml:description>\n            <maml:para>Function to be executed on the web that would determine if ListItemAction should be invoked, There is one input parameter of type ListItem and the function should return a boolean value</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItem</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ListItemProperties</maml:name>\n          <maml:description>\n            <maml:para>The properties to load for list items.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SubWebs</maml:name>\n          <maml:description>\n            <maml:para>Specify if sub webs will be processed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DisableStatisticsOutput</maml:name>\n          <maml:description>\n            <maml:para>Will not output statistics after the operation</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipCounting</maml:name>\n          <maml:description>\n            <maml:para>Will skip the counting process; by doing this you will not get an estimated time remaining</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DisableStatisticsOutput</maml:name>\n        <maml:description>\n          <maml:para>Will not output statistics after the operation</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ListAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the list. There is one input parameter of type List</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">List</command:parameterValue>\n        <dev:type>\n          <maml:name>List</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ListItemAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the list item. There is one input parameter of type ListItem</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListItem</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItem</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ListItemProperties</maml:name>\n        <maml:description>\n          <maml:para>The properties to load for list items.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ListProperties</maml:name>\n        <maml:description>\n          <maml:para>The properties to load for list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PostListAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the list, this will trigger after list items have been processed. There is one input parameter of type List</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">List</command:parameterValue>\n        <dev:type>\n          <maml:name>List</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PostWebAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the web, this will trigger after lists and list items have been processed. There is one input parameter of type Web</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Web</command:parameterValue>\n        <dev:type>\n          <maml:name>Web</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ShouldProcessListAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the web that would determine if ListAction should be invoked, There is one input parameter of type List and the function should return a boolean value</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">List</command:parameterValue>\n        <dev:type>\n          <maml:name>List</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ShouldProcessListItemAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the web that would determine if ListItemAction should be invoked, There is one input parameter of type ListItem and the function should return a boolean value</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListItem</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItem</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ShouldProcessPostListAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the web that would determine if PostListAction should be invoked, There is one input parameter of type List and the function should return a boolean value</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">List</command:parameterValue>\n        <dev:type>\n          <maml:name>List</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ShouldProcessPostWebAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the web that would determine if PostWebAction should be invoked, There is one input parameter of type Web and the function should return a boolean value</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Web</command:parameterValue>\n        <dev:type>\n          <maml:name>Web</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ShouldProcessWebAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the web that would determine if WebAction should be invoked, There is one input parameter of type Web and the function should return a boolean value</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Web</command:parameterValue>\n        <dev:type>\n          <maml:name>Web</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SkipCounting</maml:name>\n        <maml:description>\n          <maml:para>Will skip the counting process; by doing this you will not get an estimated time remaining</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SubWebs</maml:name>\n        <maml:description>\n          <maml:para>Specify if sub webs will be processed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>WebAction</maml:name>\n        <maml:description>\n          <maml:para>Function to be executed on the web. There is one input parameter of type Web</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Web</command:parameterValue>\n        <dev:type>\n          <maml:name>Web</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>WebProperties</maml:name>\n        <maml:description>\n          <maml:para>The properties to load for web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Webs</maml:name>\n        <maml:description>\n          <maml:para>Webs you want to process (for example different site collections), will use Web parameter if not specified</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Web[]</command:parameterValue>\n        <dev:type>\n          <maml:name>Web[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Invoke-PnPWebAction -ListAction ${function:ListAction}</dev:code>\n        <maml:remarks>\n          <maml:para>This will call the function ListAction on all the lists located on the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Invoke-PnPWebAction -ShouldProcessListAction ${function:ShouldProcessList} -ListAction ${function:ListAction}</dev:code>\n        <maml:remarks>\n          <maml:para>This will call the function ShouldProcessList, if it returns true the function ListAction will then be called. This will occur on all lists located on the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Measure-PnPList</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online, SharePoint 2016.\n\nReturns statistics on the list object</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Measure</command:verb>\n      <command:noun>PnPList</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Measure-PnPList</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ItemLevel</maml:name>\n          <maml:description>\n            <maml:para>Show item level statistics</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>BrokenPermissions</maml:name>\n          <maml:description>\n            <maml:para>Show items with broken permissions</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>BrokenPermissions</maml:name>\n        <maml:description>\n          <maml:para>Show items with broken permissions</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ItemLevel</maml:name>\n        <maml:description>\n          <maml:para>Show item level statistics</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Measure-PnPList \"Documents\"</dev:code>\n        <maml:remarks>\n          <maml:para>Gets statistics on Documents document library</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Measure-PnPList \"Documents\" -BrokenPermissions -ItemLevel</dev:code>\n        <maml:remarks>\n          <maml:para>Displays items and folders with broken permissions inside Documents library</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Measure-PnPWeb</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online, SharePoint 2016.\n\nReturns statistics on the web object</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Measure</command:verb>\n      <command:noun>PnPWeb</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Measure-PnPWeb</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Recursive</maml:name>\n          <maml:description>\n            <maml:para>Iterate all sub webs recursively</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IncludeHiddenList</maml:name>\n          <maml:description>\n            <maml:para>Include hidden lists in statistics calculation</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IncludeHiddenList</maml:name>\n        <maml:description>\n          <maml:para>Include hidden lists in statistics calculation</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Recursive</maml:name>\n        <maml:description>\n          <maml:para>Iterate all sub webs recursively</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Measure-PnPWeb</dev:code>\n        <maml:remarks>\n          <maml:para>Gets statistics on the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Measure-PnPList $web -Recursive</dev:code>\n        <maml:remarks>\n          <maml:para>Gets statistics on the chosen including all sub webs</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Measure-PnPResponseTime</command:name>\n      <maml:description>\n        <maml:para>Gets statistics on response time for the specified endpoint by sending probe requests</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Measure</command:verb>\n      <command:noun>PnPResponseTime</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Measure-PnPResponseTime</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Count</maml:name>\n          <maml:description>\n            <maml:para>Number of probe requests to send</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WarmUp</maml:name>\n          <maml:description>\n            <maml:para>Number of warm up requests to send before start calculating statistics</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Timeout</maml:name>\n          <maml:description>\n            <maml:para>Idle timeout between requests to avoid request throttling</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Histogram</maml:name>\n          <maml:description>\n            <maml:para>Number of buckets in histogram in output statistics</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Mode</maml:name>\n          <maml:description>\n            <maml:para>Response time measurement mode. RoundTrip - measures full request round trip. SPRequestDuration - measures server processing time only, based on SPRequestDuration HTTP header. Latency - difference between RoundTrip and SPRequestDuration</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">MeasureResponseTimeMode</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">DiagnosticEndpointPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Count</maml:name>\n        <maml:description>\n          <maml:para>Number of probe requests to send</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Histogram</maml:name>\n        <maml:description>\n          <maml:para>Number of buckets in histogram in output statistics</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Mode</maml:name>\n        <maml:description>\n          <maml:para>Response time measurement mode. RoundTrip - measures full request round trip. SPRequestDuration - measures server processing time only, based on SPRequestDuration HTTP header. Latency - difference between RoundTrip and SPRequestDuration</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">MeasureResponseTimeMode</command:parameterValue>\n        <dev:type>\n          <maml:name>MeasureResponseTimeMode</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Timeout</maml:name>\n        <maml:description>\n          <maml:para>Idle timeout between requests to avoid request throttling</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">DiagnosticEndpointPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>DiagnosticEndpointPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>WarmUp</maml:name>\n        <maml:description>\n          <maml:para>Number of warm up requests to send before start calculating statistics</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Measure-PnPResponseTime -Count 100 -Timeout 20</dev:code>\n        <maml:remarks>\n          <maml:para>Calculates statistics on sequence of 100 probe requests, sleeps 20ms between probes</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Measure-PnPResponseTime \"/Pages/Test.aspx\" -Count 1000</dev:code>\n        <maml:remarks>\n          <maml:para>Calculates statistics on response time of Test.aspx by sending 1000 requests with default sleep time between requests</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Measure-PnPResponseTime $web -Count 1000 -WarmUp 10 -Histogram 20 -Timeout 50 | Select -expa Histogram | % {$_.GetEnumerator() | Export-Csv C:\\Temp\\responsetime.csv -NoTypeInformation}</dev:code>\n        <maml:remarks>\n          <maml:para>Builds histogram of response time for the home page of the web and exports to CSV for later processing in Excel</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Move-PnPClientSideComponent</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nMoves a Client-Side Component to a different section/column</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Move</command:verb>\n      <command:noun>PnPClientSideComponent</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Moves a Client-Side Component to a different location on the page. Notice that the sections and or columns need to be present before moving the component.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Move-PnPClientSideComponent</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Section</maml:name>\n          <maml:description>\n            <maml:para>The section to move the webpart to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InstanceId</maml:name>\n          <maml:description>\n            <maml:para>The instance id of the control. Use Get-PnPClientSideControl retrieve the instance ids.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Position</maml:name>\n          <maml:description>\n            <maml:para>Change to order of the webpart in the column</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Move-PnPClientSideComponent</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Column</maml:name>\n          <maml:description>\n            <maml:para>The column to move the webpart to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InstanceId</maml:name>\n          <maml:description>\n            <maml:para>The instance id of the control. Use Get-PnPClientSideControl retrieve the instance ids.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Position</maml:name>\n          <maml:description>\n            <maml:para>Change to order of the webpart in the column</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Move-PnPClientSideComponent</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Position</maml:name>\n          <maml:description>\n            <maml:para>Change to order of the webpart in the column</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InstanceId</maml:name>\n          <maml:description>\n            <maml:para>The instance id of the control. Use Get-PnPClientSideControl retrieve the instance ids.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Move-PnPClientSideComponent</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Section</maml:name>\n          <maml:description>\n            <maml:para>The section to move the webpart to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Column</maml:name>\n          <maml:description>\n            <maml:para>The column to move the webpart to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InstanceId</maml:name>\n          <maml:description>\n            <maml:para>The instance id of the control. Use Get-PnPClientSideControl retrieve the instance ids.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Position</maml:name>\n          <maml:description>\n            <maml:para>Change to order of the webpart in the column</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Column</maml:name>\n        <maml:description>\n          <maml:para>The column to move the webpart to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>InstanceId</maml:name>\n        <maml:description>\n          <maml:para>The instance id of the control. Use Get-PnPClientSideControl retrieve the instance ids.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Page</maml:name>\n        <maml:description>\n          <maml:para>The name of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Position</maml:name>\n        <maml:description>\n          <maml:para>Change to order of the webpart in the column</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Section</maml:name>\n        <maml:description>\n          <maml:para>The section to move the webpart to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnPClientSideComponent -Page Home -InstanceId a2875399-d6ff-43a0-96da-be6ae5875f82 -Section 1</dev:code>\n        <maml:remarks>\n          <maml:para>Moves the specified component to the first section of the page.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnPClientSideComponent -Page Home -InstanceId a2875399-d6ff-43a0-96da-be6ae5875f82 -Column 2</dev:code>\n        <maml:remarks>\n          <maml:para>Moves the specified component to the second column of the current section.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnPClientSideComponent -Page Home -InstanceId a2875399-d6ff-43a0-96da-be6ae5875f82 -Section 1 -Column 2</dev:code>\n        <maml:remarks>\n          <maml:para>Moves the specified component to the first section of the page into the second column.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnPClientSideComponent -Page Home -InstanceId a2875399-d6ff-43a0-96da-be6ae5875f82 -Section 1 -Column 2 -Position 2</dev:code>\n        <maml:remarks>\n          <maml:para>Moves the specified component to the first section of the page into the second column and sets the column to position 2 in the list of webparts.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Move-PnPFile</command:name>\n      <maml:description>\n        <maml:para>Moves a file to a different location</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Move</command:verb>\n      <command:noun>PnPFile</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Move-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Server relative Url specifying the file to move. Must include the file name.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>TargetUrl</maml:name>\n          <maml:description>\n            <maml:para>Server relative Url where to move the file to. Must include the file name.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OverwriteIfAlreadyExists</maml:name>\n          <maml:description>\n            <maml:para>If provided, if a file already exists at the TargetUrl, it will be overwritten. If ommitted, the move operation will be canceled if the file already exists at the TargetUrl location.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be requested and the action will be performed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Move-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SiteRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Site relative Url specifying the file to move. Must include the file name.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>TargetUrl</maml:name>\n          <maml:description>\n            <maml:para>Server relative Url where to move the file to. Must include the file name.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OverwriteIfAlreadyExists</maml:name>\n          <maml:description>\n            <maml:para>If provided, if a file already exists at the TargetUrl, it will be overwritten. If ommitted, the move operation will be canceled if the file already exists at the TargetUrl location.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be requested and the action will be performed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If provided, no confirmation will be requested and the action will be performed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OverwriteIfAlreadyExists</maml:name>\n        <maml:description>\n          <maml:para>If provided, if a file already exists at the TargetUrl, it will be overwritten. If ommitted, the move operation will be canceled if the file already exists at the TargetUrl location.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Server relative Url specifying the file to move. Must include the file name.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SiteRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Site relative Url specifying the file to move. Must include the file name.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>TargetUrl</maml:name>\n        <maml:description>\n          <maml:para>Server relative Url where to move the file to. Must include the file name.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Move-PnPFile -ServerRelativeUrl /sites/project/Documents/company.docx -TargetUrl /sites/otherproject/Documents/company.docx</dev:code>\n        <maml:remarks>\n          <maml:para>Moves a file named company.docx located in the document library called Documents located in the projects sitecollection under the managed path sites to the site collection otherproject located in the managed path sites. If a file named company.aspx already exists, it won't perform the move.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Move-PnPFile -SiteRelativeUrl Documents/company.aspx -TargetUrl /sites/otherproject/Documents/company.docx</dev:code>\n        <maml:remarks>\n          <maml:para>Moves a file named company.docx located in the document library called Documents located in the current site to the Documents library in the site collection otherproject located in the managed path sites. If a file named company.aspx already exists, it won't perform the move.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Move-PnPFile -ServerRelativeUrl /sites/project/Documents/company.docx -TargetUrl /sites/otherproject/Documents/company.docx -OverwriteIfAlreadyExists</dev:code>\n        <maml:remarks>\n          <maml:para>Moves a file named company.docx located in the document library called Documents located in the projects sitecollection under the managed path sites to the site collection otherproject located in the managed path sites. If a file named company.aspx already exists, it will still perform the move and replace the original company.aspx file.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Move-PnPFolder</command:name>\n      <maml:description>\n        <maml:para>Move a folder to another location in the current web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Move</command:verb>\n      <command:noun>PnPFolder</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Move-PnPFolder</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>The folder to move</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TargetFolder</maml:name>\n          <maml:description>\n            <maml:para>The new parent location to which the folder should be moved to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>The folder to move</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TargetFolder</maml:name>\n        <maml:description>\n          <maml:para>The new parent location to which the folder should be moved to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Folder</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnPFolder -Folder Documents/Reports -TargetFolder 'Archived Reports'</dev:code>\n        <maml:remarks>\n          <maml:para>This will move the folder Reports in the Documents library to the 'Archived Reports' library</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnPFolder -Folder 'Shared Documents/Reports/2016/Templates' -TargetFolder 'Shared Documents/Reports'</dev:code>\n        <maml:remarks>\n          <maml:para>This will move the folder Templates to the new location in 'Shared Documents/Reports'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Move-PnPListItemToRecycleBin</command:name>\n      <maml:description>\n        <maml:para>Moves an item from a list to the Recycle Bin</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Move</command:verb>\n      <command:noun>PnPListItemToRecycleBin</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Move-PnPListItemToRecycleBin</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnPListItemToRecycleBin -List \"Demo List\" -Identity \"1\" -Force</dev:code>\n        <maml:remarks>\n          <maml:para>Moves the listitem with id \"1\" from the \"Demo List\" list to the Recycle Bin.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Move-PnPRecycleBinItem</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nMoves all items or a specific item in the first stage recycle bin of the current site collection to the second stage recycle bin</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Move</command:verb>\n      <command:noun>PnPRecycleBinItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Move-PnPRecycleBinItem</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>If provided, moves the item with the specific ID to the second stage recycle bin</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">RecycleBinItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be asked to move the first stage recycle bin items to the second stage</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If provided, no confirmation will be asked to move the first stage recycle bin items to the second stage</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>If provided, moves the item with the specific ID to the second stage recycle bin</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">RecycleBinItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>RecycleBinItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnpRecycleBinItem</dev:code>\n        <maml:remarks>\n          <maml:para>Moves all the items in the first stage recycle bin of the current site collection to the second stage recycle bin</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnpRecycleBinItem -Identity 26ffff29-b526-4451-9b6f-7f0e56ba7125</dev:code>\n        <maml:remarks>\n          <maml:para>Moves the item with the provided ID in the first stage recycle bin of the current site collection to the second stage recycle bin without asking for confirmation first</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Move-PnpRecycleBinItem -Force</dev:code>\n        <maml:remarks>\n          <maml:para>Moves all the items in the first stage recycle bin of the current context to the second stage recycle bin without asking for confirmation first</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPExtensibilityHandlerObject</command:name>\n      <maml:description>\n        <maml:para>Creates an ExtensibilityHandler Object, to be used by the Get-SPOProvisioningTemplate cmdlet</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPExtensibilityHandlerObject</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPExtensibilityHandlerObject</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Type</maml:name>\n          <maml:description>\n            <maml:para>The type of the handler</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Assembly</maml:name>\n          <maml:description>\n            <maml:para>The full assembly name of the handler</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Configuration</maml:name>\n          <maml:description>\n            <maml:para>Any configuration data you want to send to the handler</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Disabled</maml:name>\n          <maml:description>\n            <maml:para>If set, the handler will be disabled</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Assembly</maml:name>\n        <maml:description>\n          <maml:para>The full assembly name of the handler</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Configuration</maml:name>\n        <maml:description>\n          <maml:para>Any configuration data you want to send to the handler</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Disabled</maml:name>\n        <maml:description>\n          <maml:para>If set, the handler will be disabled</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Type</maml:name>\n        <maml:description>\n          <maml:para>The type of the handler</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>OfficeDevPnP.Core.Framework.Provisioning.Model.ExtensibilityHandler</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>\nPS:&gt; $handler = New-PnPExtensibilityHandlerObject -Assembly Contoso.Core.Handlers -Type Contoso.Core.Handlers.MyExtensibilityHandler\nPS:&gt; Get-PnPProvisioningTemplate -Out NewTemplate.xml -ExtensibilityHandlers $handler</dev:code>\n        <maml:remarks>\n          <maml:para>This will create a new ExtensibilityHandler object that is run during extraction of the template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPGroup</command:name>\n      <maml:description>\n        <maml:para>Adds group to the Site Groups List and returns a group object</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The Title of the group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The description for the group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Owner</maml:name>\n          <maml:description>\n            <maml:para>The owner for the group, which can be a user or another group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowRequestToJoinLeave</maml:name>\n          <maml:description>\n            <maml:para>A switch parameter that specifies whether to allow users to request membership in the group and to allow users to request to leave the group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AutoAcceptRequestToJoinLeave</maml:name>\n          <maml:description>\n            <maml:para>A switch parameter that specifies whether users are automatically added or removed when they make a request</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowMembersEditMembership</maml:name>\n          <maml:description>\n            <maml:para>A switch parameter that specifies whether group members can modify membership in the group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DisallowMembersViewMembership</maml:name>\n          <maml:description>\n            <maml:para>A switch parameter that disallows group members to view membership.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestToJoinEmail</maml:name>\n          <maml:description>\n            <maml:para>The e-mail address to which membership requests are sent</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowMembersEditMembership</maml:name>\n        <maml:description>\n          <maml:para>A switch parameter that specifies whether group members can modify membership in the group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowRequestToJoinLeave</maml:name>\n        <maml:description>\n          <maml:para>A switch parameter that specifies whether to allow users to request membership in the group and to allow users to request to leave the group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AutoAcceptRequestToJoinLeave</maml:name>\n        <maml:description>\n          <maml:para>A switch parameter that specifies whether users are automatically added or removed when they make a request</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The description for the group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DisallowMembersViewMembership</maml:name>\n        <maml:description>\n          <maml:para>A switch parameter that disallows group members to view membership.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Owner</maml:name>\n        <maml:description>\n          <maml:para>The owner for the group, which can be a user or another group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RequestToJoinEmail</maml:name>\n        <maml:description>\n          <maml:para>The e-mail address to which membership requests are sent</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The Title of the group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Group</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPGroup -Title \"My Site Users\"</dev:code>\n        <maml:remarks>\n          <maml:para />\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPList</command:name>\n      <maml:description>\n        <maml:para>Creates a new list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPList</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPList</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The Title of the list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Template</maml:name>\n          <maml:description>\n            <maml:para>The type of list to create.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListTemplateType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>If set, will override the url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Hidden</maml:name>\n          <maml:description>\n            <maml:para>Switch parameter if list should be hidden from the SharePoint UI</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableVersioning</maml:name>\n          <maml:description>\n            <maml:para>Switch parameter if versioning should be enabled</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableContentTypes</maml:name>\n          <maml:description>\n            <maml:para>Switch parameter if content types should be enabled on this list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OnQuickLaunch</maml:name>\n          <maml:description>\n            <maml:para>Switch parameter if this list should be visible on the QuickLaunch</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableContentTypes</maml:name>\n        <maml:description>\n          <maml:para>Switch parameter if content types should be enabled on this list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableVersioning</maml:name>\n        <maml:description>\n          <maml:para>Switch parameter if versioning should be enabled</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Hidden</maml:name>\n        <maml:description>\n          <maml:para>Switch parameter if list should be hidden from the SharePoint UI</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OnQuickLaunch</maml:name>\n        <maml:description>\n          <maml:para>Switch parameter if this list should be visible on the QuickLaunch</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Template</maml:name>\n        <maml:description>\n          <maml:para>The type of list to create.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListTemplateType</command:parameterValue>\n        <dev:type>\n          <maml:name>ListTemplateType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The Title of the list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>If set, will override the url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPList -Title Announcements -Template Announcements</dev:code>\n        <maml:remarks>\n          <maml:para>Create a new announcements list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPList -Title \"Demo List\" -Url \"DemoList\" -Template Announcements</dev:code>\n        <maml:remarks>\n          <maml:para>Create a list with a title that is different from the url</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPList -Title HiddenList -Template GenericList -Hidden</dev:code>\n        <maml:remarks>\n          <maml:para>Create a new custom list and hides it from the SharePoint UI.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPPersonalSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nOffice365 only: Creates a personal / OneDrive For Business site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPPersonalSite</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPPersonalSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Email</maml:name>\n          <maml:description>\n            <maml:para>The UserPrincipalName (UPN) of the users</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Email</maml:name>\n        <maml:description>\n          <maml:para>The UserPrincipalName (UPN) of the users</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $users = ('katiej@contoso.onmicrosoft.com','garth@contoso.onmicrosoft.com')\n                 PS:&gt; New-PnPPersonalSite -Email $users</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a personal / OneDrive For Business site for the 2 users in the variable $users</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPAzureCertificate</command:name>\n      <maml:description>\n        <maml:para>Generate a new 2048bit self-signed certificate and manifest settings for use when using CSOM via an app-only ADAL application.\n\nSee https://github.com/SharePoint/PnP-PowerShell/tree/master/Samples/SharePoint.ConnectUsingAppPermissions for a sample on how to get started.\n\nKeyCredentials contains the ADAL app manifest sections.\n\nCertificate contains the PEM encoded certificate.\n\nPrivateKey contains the PEM encoded private key of the certificate.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPAzureCertificate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPAzureCertificate</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CommonName</maml:name>\n          <maml:description>\n            <maml:para>Common Name (e.g. server FQDN or YOUR name) [pnp.contoso.com]</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"1\">\n          <maml:name>Country</maml:name>\n          <maml:description>\n            <maml:para>Country Name (2 letter code)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"2\">\n          <maml:name>State</maml:name>\n          <maml:description>\n            <maml:para>State or Province Name (full name)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"3\">\n          <maml:name>Locality</maml:name>\n          <maml:description>\n            <maml:para>Locality Name (eg, city)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"4\">\n          <maml:name>Organization</maml:name>\n          <maml:description>\n            <maml:para>Organization Name (eg, company)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"5\">\n          <maml:name>OrganizationUnit</maml:name>\n          <maml:description>\n            <maml:para>Organizational Unit Name (eg, section)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"6\">\n          <maml:name>Out</maml:name>\n          <maml:description>\n            <maml:para>Filename to write to, optionally including full path (.pfx)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"6\">\n          <maml:name>ValidYears</maml:name>\n          <maml:description>\n            <maml:para>Number of years until expiration (default is 10, max is 30)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CommonName</maml:name>\n        <maml:description>\n          <maml:para>Common Name (e.g. server FQDN or YOUR name) [pnp.contoso.com]</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"1\">\n        <maml:name>Country</maml:name>\n        <maml:description>\n          <maml:para>Country Name (2 letter code)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"3\">\n        <maml:name>Locality</maml:name>\n        <maml:description>\n          <maml:para>Locality Name (eg, city)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"4\">\n        <maml:name>Organization</maml:name>\n        <maml:description>\n          <maml:para>Organization Name (eg, company)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"5\">\n        <maml:name>OrganizationUnit</maml:name>\n        <maml:description>\n          <maml:para>Organizational Unit Name (eg, section)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"6\">\n        <maml:name>Out</maml:name>\n        <maml:description>\n          <maml:para>Filename to write to, optionally including full path (.pfx)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"2\">\n        <maml:name>State</maml:name>\n        <maml:description>\n          <maml:para>State or Province Name (full name)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"6\">\n        <maml:name>ValidYears</maml:name>\n        <maml:description>\n          <maml:para>Number of years until expiration (default is 10, max is 30)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Generate-PnPAzureCertificate</dev:code>\n        <maml:remarks>\n          <maml:para>This will generate a default self-signed certificate named \"pnp.contoso.com\" valid for 10 years.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Generate-PnPAzureCertificate -CommonName \"My Certificate\" -ValidYears 30 </dev:code>\n        <maml:remarks>\n          <maml:para>This will output a certificate named \"My Certificate\" which expires in 30 years from now.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPUnifiedGroup</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nCreates a new Office 365 Group (aka Unified Group)</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPUnifiedGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPUnifiedGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DisplayName</maml:name>\n          <maml:description>\n            <maml:para>The Display Name of the Office 365 Group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The Description of the Office 365 Group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>MailNickname</maml:name>\n          <maml:description>\n            <maml:para>The Mail Nickname of the Office 365 Group. Cannot contain spaces.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Owners</maml:name>\n          <maml:description>\n            <maml:para>The array UPN values of the group's owners.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Members</maml:name>\n          <maml:description>\n            <maml:para>The array UPN values of the group's members.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IsPrivate</maml:name>\n          <maml:description>\n            <maml:para>Makes the group private when selected.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>GroupLogoPath</maml:name>\n          <maml:description>\n            <maml:para>The path to the logo file of to set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The Description of the Office 365 Group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DisplayName</maml:name>\n        <maml:description>\n          <maml:para>The Display Name of the Office 365 Group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>GroupLogoPath</maml:name>\n        <maml:description>\n          <maml:para>The path to the logo file of to set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IsPrivate</maml:name>\n        <maml:description>\n          <maml:para>Makes the group private when selected.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>MailNickname</maml:name>\n        <maml:description>\n          <maml:para>The Mail Nickname of the Office 365 Group. Cannot contain spaces.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Members</maml:name>\n        <maml:description>\n          <maml:para>The array UPN values of the group's members.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Owners</maml:name>\n        <maml:description>\n          <maml:para>The array UPN values of the group's owners.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPUnifiedGroup -DisplayName $displayName -Description $description -MailNickname $nickname</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a public Office 365 Group with all the required properties</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPUnifiedGroup -DisplayName $displayName -Description $description -MailNickname $nickname -Owners $arrayOfOwners -Members $arrayOfMembers</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a public Office 365 Group with all the required properties, and with a custom list of Owners and a custom list of Members</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPUnifiedGroup -DisplayName $displayName -Description $description -MailNickname $nickname -IsPrivate</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a private Office 365 Group with all the required properties</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPUnifiedGroup -DisplayName $displayName -Description $description -MailNickname $nickname -Owners $arrayOfOwners -Members $arrayOfMembers -IsPrivate</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a private Office 365 Group with all the required properties, and with a custom list of Owners and a custom list of Members</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Creates a new provisioning template object</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPProvisioningTemplate</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $template = New-PnPProvisioningTemplate</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new instance of a provisioning template object.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPProvisioningTemplateFromFolder</command:name>\n      <maml:description>\n        <maml:para>Generates a provisioning template from a given folder, including only files that are present in that folder</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPProvisioningTemplateFromFolder</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPProvisioningTemplateFromFolder</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Match</maml:name>\n          <maml:description>\n            <maml:para>Optional wildcard pattern to match filenames against. If empty all files will be included.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>An optional content type to use.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Properties</maml:name>\n          <maml:description>\n            <maml:para>Additional properties to set for every file entry in the generated template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AsIncludeFile</maml:name>\n          <maml:description>\n            <maml:para>If specified, the output will only contain the &lt;pnp:Files&gt; element. This allows the output to be included in another template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Overwrites the output file if it exists.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Encoding</maml:name>\n          <maml:description>\n            <maml:para>The encoding type of the XML file, Unicode is default</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Encoding</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Out</maml:name>\n          <maml:description>\n            <maml:para>Filename to write to, optionally including full path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>Folder to process. If not specified the current folder will be used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"1\">\n          <maml:name>TargetFolder</maml:name>\n          <maml:description>\n            <maml:para>Target folder to provision to files to. If not specified, the current folder name will be used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"1\">\n          <maml:name>Schema</maml:name>\n          <maml:description>\n            <maml:para>The schema of the output to use, defaults to the latest schema</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">XMLPnPSchemaVersion</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AsIncludeFile</maml:name>\n        <maml:description>\n          <maml:para>If specified, the output will only contain the &lt;pnp:Files&gt; element. This allows the output to be included in another template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>An optional content type to use.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Encoding</maml:name>\n        <maml:description>\n          <maml:para>The encoding type of the XML file, Unicode is default</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Encoding</command:parameterValue>\n        <dev:type>\n          <maml:name>Encoding</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>Folder to process. If not specified the current folder will be used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Overwrites the output file if it exists.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Match</maml:name>\n        <maml:description>\n          <maml:para>Optional wildcard pattern to match filenames against. If empty all files will be included.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Out</maml:name>\n        <maml:description>\n          <maml:para>Filename to write to, optionally including full path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Properties</maml:name>\n        <maml:description>\n          <maml:para>Additional properties to set for every file entry in the generated template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"1\">\n        <maml:name>Schema</maml:name>\n        <maml:description>\n          <maml:para>The schema of the output to use, defaults to the latest schema</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">XMLPnPSchemaVersion</command:parameterValue>\n        <dev:type>\n          <maml:name>XMLPnPSchemaVersion</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"1\">\n        <maml:name>TargetFolder</maml:name>\n        <maml:description>\n          <maml:para>Target folder to provision to files to. If not specified, the current folder name will be used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPProvisioningTemplateFromFolder -Out template.xml</dev:code>\n        <maml:remarks>\n          <maml:para>Creates an empty provisioning template, and includes all files in the current folder.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPProvisioningTemplateFromFolder -Out template.xml -Folder c:\\temp</dev:code>\n        <maml:remarks>\n          <maml:para>Creates an empty provisioning template, and includes all files in the c:\\temp folder.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPProvisioningTemplateFromFolder -Out template.xml -Folder c:\\temp -Match *.js</dev:code>\n        <maml:remarks>\n          <maml:para>Creates an empty provisioning template, and includes all files with a JS extension in the c:\\temp folder.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPProvisioningTemplateFromFolder -Out template.xml -Folder c:\\temp -Match *.js -TargetFolder \"Shared Documents\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates an empty provisioning template, and includes all files with a JS extension in the c:\\temp folder and marks the files in the template to be added to the 'Shared Documents' folder</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPProvisioningTemplateFromFolder -Out template.xml -Folder c:\\temp -Match *.js -TargetFolder \"Shared Documents\" -ContentType \"Test Content Type\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates an empty provisioning template, and includes all files with a JS extension in the c:\\temp folder and marks the files in the template to be added to the 'Shared Documents' folder. It will add a property to the item for the content type.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPProvisioningTemplateFromFolder -Out template.xml -Folder c:\\temp -Match *.js -TargetFolder \"Shared Documents\" -Properties @{\"Title\" = \"Test Title\"; \"Category\"=\"Test Category\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Creates an empty provisioning template, and includes all files with a JS extension in the c:\\temp folder and marks the files in the template to be added to the 'Shared Documents' folder. It will add the specified properties to the file entries.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 7---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPProvisioningTemplateFromFolder -Out template.pnp</dev:code>\n        <maml:remarks>\n          <maml:para>Creates an empty provisioning template as a pnp package file, and includes all files in the current folder</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 8---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPProvisioningTemplateFromFolder -Out template.pnp -Folder c:\\temp</dev:code>\n        <maml:remarks>\n          <maml:para>Creates an empty provisioning template as a pnp package file, and includes all files in the c:\\temp folder</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Encoding:</maml:linkText>\n        <maml:uri>https://msdn.microsoft.com/en-us/library/system.text.encoding_properties.aspx</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nBETA: This cmdlet is using early release APIs. Notice that functionality and parameters can change. Creates a new site collection</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPSite</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>The New-PnPSite cmdlet creates a new site collection for the current tenant. Currently only 'modern' sites like Communication Site and the Modern Team Site are supported. If you want to create a classic site, use New-PnPTenantSite.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Type</maml:name>\n          <maml:description>\n            <maml:para>@Specifies with type of site to create.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SiteType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Specifies the title of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Specifies the full url of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Specifies the description of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Classification</maml:name>\n          <maml:description>\n            <maml:para>Specifies the classification of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowFileSharingForGuestUsers</maml:name>\n          <maml:description>\n            <maml:para>Specifies if guest users can share files in the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SiteDesign</maml:name>\n          <maml:description>\n            <maml:para>Specifies the site design of the new site collection. Defaults to 'Topic'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CommunicationSiteDesign</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Lcid</maml:name>\n          <maml:description>\n            <maml:para>Specifies the language of the new site collection. Defaults to the current language of the web connected to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>New-PnPSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Type</maml:name>\n          <maml:description>\n            <maml:para>@Specifies with type of site to create.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SiteType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Specifies the title of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Alias</maml:name>\n          <maml:description>\n            <maml:para>Specifies the alias of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Specifies the description of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Classification</maml:name>\n          <maml:description>\n            <maml:para>Specifies the classification of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IsPublic</maml:name>\n          <maml:description>\n            <maml:para>Specifies if new site collection is public. Defaults to false.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>New-PnPSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Type</maml:name>\n          <maml:description>\n            <maml:para>@Specifies with type of site to create.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SiteType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Specifies the title of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Specifies the full url of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SiteDesignId</maml:name>\n          <maml:description>\n            <maml:para>Specifies the site design id to use for the new site collection. If specified will override SiteDesign</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Specifies the description of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Classification</maml:name>\n          <maml:description>\n            <maml:para>Specifies the classification of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowFileSharingForGuestUsers</maml:name>\n          <maml:description>\n            <maml:para>Specifies if guest users can share files in the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Lcid</maml:name>\n          <maml:description>\n            <maml:para>Specifies the language of the new site collection. Defaults to the current language of the web connected to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Alias</maml:name>\n        <maml:description>\n          <maml:para>Specifies the alias of the new site collection</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowFileSharingForGuestUsers</maml:name>\n        <maml:description>\n          <maml:para>Specifies if guest users can share files in the new site collection</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Classification</maml:name>\n        <maml:description>\n          <maml:para>Specifies the classification of the new site collection</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Specifies the description of the new site collection</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IsPublic</maml:name>\n        <maml:description>\n          <maml:para>Specifies if new site collection is public. Defaults to false.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Lcid</maml:name>\n        <maml:description>\n          <maml:para>Specifies the language of the new site collection. Defaults to the current language of the web connected to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SiteDesign</maml:name>\n        <maml:description>\n          <maml:para>Specifies the site design of the new site collection. Defaults to 'Topic'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CommunicationSiteDesign</command:parameterValue>\n        <dev:type>\n          <maml:name>CommunicationSiteDesign</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SiteDesignId</maml:name>\n        <maml:description>\n          <maml:para>Specifies the site design id to use for the new site collection. If specified will override SiteDesign</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>Specifies the title of the new site collection</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Type</maml:name>\n        <maml:description>\n          <maml:para>@Specifies with type of site to create.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SiteType</command:parameterValue>\n        <dev:type>\n          <maml:name>SiteType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>Specifies the full url of the new site collection</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>System.String</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para>Returns the url of the newly created site collection</maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPSite -Type CommunicationSite -Title Contoso -Url https://tenant.sharepoint.com/sites/contoso</dev:code>\n        <maml:remarks>\n          <maml:para>This will create a new Communications Site collection with the title 'Contoso' and the url 'https://tenant.sharepoint.com/sites/contoso'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPSite -Type CommunicationSite -Title Contoso -Url https://tenant.sharepoint.com/sites/contoso -SiteDesign Showcase</dev:code>\n        <maml:remarks>\n          <maml:para>This will create a new Communications Site collection with the title 'Contoso' and the url 'https://tenant.sharepoint.com/sites/contoso'. It will use the 'Showcase' design for the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPSite -Type CommunicationSite -Title Contoso -Url https://tenant.sharepoint.com/sites/contoso -SiteDesignId ae2349d5-97d6-4440-94d1-6516b72449ac</dev:code>\n        <maml:remarks>\n          <maml:para>This will create a new Communications Site collection with the title 'Contoso' and the url 'https://tenant.sharepoint.com/sites/contoso'. It will use the specified custom site design for the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPSite -Type CommunicationSite -Title Contoso -Url https://tenant.sharepoint.com/sites/contoso -Classification \"HBI\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will create a new Communications Site collection with the title 'Contoso' and the url 'https://tenant.sharepoint.com/sites/contoso'. The classification for the site will be set to \"HBI\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPSite -Type CommunicationSite -Title Contoso -Url https://tenant.sharepoint.com/sites/contoso -AllowFileSharingForGuestUsers</dev:code>\n        <maml:remarks>\n          <maml:para>This will create a new Communications Site collection with the title 'Contoso' and the url 'https://tenant.sharepoint.com/sites/contoso'. File sharing for guest users will be enabled.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPSite -Type TeamSite -Title Contoso -Alias contoso</dev:code>\n        <maml:remarks>\n          <maml:para>This will create a new Modern Team Site collection with the title 'Contoso' and the url 'https://tenant.sharepoint.com/sites/contoso'.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 7---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPSite -Type TeamSite -Title Contoso -Alias contoso -IsPublic</dev:code>\n        <maml:remarks>\n          <maml:para>This will create a new Modern Team Site collection with the title 'Contoso' and the url 'https://tenant.sharepoint.com/sites/contoso' and sets the site to public.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPTenantSite</command:name>\n      <maml:description>\n        <maml:para>Creates a new site collection for the current tenant</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPTenantSite</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>The New-PnPTenantSite cmdlet creates a new site collection for the current company. However, creating a new SharePoint\nOnline site collection fails if a deleted site with the same URL exists in the Recycle Bin. If you want to use this command for an on-premises farm, please refer to http://blogs.msdn.com/b/vesku/archive/2014/06/09/provisioning-site-collections-using-sp-app-model-in-on-premises-with-just-csom.aspx </maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPTenantSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Specifies the title of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Specifies the full URL of the new site collection. It must be in a valid managed path in the company's site. For example, for company contoso, valid managed paths are https://contoso.sharepoint.com/sites and https://contoso.sharepoint.com/teams.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Owner</maml:name>\n          <maml:description>\n            <maml:para>Specifies the user name of the site collection's primary owner. The owner must be a user instead of a security group or an email-enabled security group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TimeZone</maml:name>\n          <maml:description>\n            <maml:para>Use Get-PnPTimeZoneId to retrieve possible timezone values</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Specifies the description of the new site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Lcid</maml:name>\n          <maml:description>\n            <maml:para>Specifies the language of this site collection. For more information, see Locale IDs Assigned by Microsoft: https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splanguage.lcid.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Template</maml:name>\n          <maml:description>\n            <maml:para>Specifies the site collection template type. Use the Get-PnPWebTemplate cmdlet to get the list of valid templates. If no template is specified, one can be added later. The Template and LocaleId parameters must be a valid combination as returned from the Get-PnPWebTemplates cmdlet.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ResourceQuota</maml:name>\n          <maml:description>\n            <maml:para>Specifies the quota for this site collection in Sandboxed Solutions units. This value must not exceed the company's aggregate available Sandboxed Solutions quota. The default value is 0. For more information, see Resource Usage Limits on Sandboxed Solutions in SharePoint 2010 : http://msdn.microsoft.com/en-us/library/gg615462.aspx.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Double</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ResourceQuotaWarningLevel</maml:name>\n          <maml:description>\n            <maml:para>Specifies the warning level for the resource quota. This value must not exceed the value set for the ResourceQuota parameter</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Double</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StorageQuota</maml:name>\n          <maml:description>\n            <maml:para>Specifies the storage quota for this site collection in megabytes. This value must not exceed the company's available quota.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int64</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StorageQuotaWarningLevel</maml:name>\n          <maml:description>\n            <maml:para>Specifies the warning level for the storage quota in megabytes. This value must not exceed the values set for the StorageQuota parameter</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int64</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveDeletedSite</maml:name>\n          <maml:description>\n            <maml:para>Specifies if any existing site with the same URL should be removed from the recycle bin</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Wait</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Do not ask for confirmation.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Specifies the description of the new site collection</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Do not ask for confirmation.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Lcid</maml:name>\n        <maml:description>\n          <maml:para>Specifies the language of this site collection. For more information, see Locale IDs Assigned by Microsoft: https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splanguage.lcid.aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Owner</maml:name>\n        <maml:description>\n          <maml:para>Specifies the user name of the site collection's primary owner. The owner must be a user instead of a security group or an email-enabled security group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RemoveDeletedSite</maml:name>\n        <maml:description>\n          <maml:para>Specifies if any existing site with the same URL should be removed from the recycle bin</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ResourceQuota</maml:name>\n        <maml:description>\n          <maml:para>Specifies the quota for this site collection in Sandboxed Solutions units. This value must not exceed the company's aggregate available Sandboxed Solutions quota. The default value is 0. For more information, see Resource Usage Limits on Sandboxed Solutions in SharePoint 2010 : http://msdn.microsoft.com/en-us/library/gg615462.aspx.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Double</command:parameterValue>\n        <dev:type>\n          <maml:name>Double</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ResourceQuotaWarningLevel</maml:name>\n        <maml:description>\n          <maml:para>Specifies the warning level for the resource quota. This value must not exceed the value set for the ResourceQuota parameter</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Double</command:parameterValue>\n        <dev:type>\n          <maml:name>Double</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StorageQuota</maml:name>\n        <maml:description>\n          <maml:para>Specifies the storage quota for this site collection in megabytes. This value must not exceed the company's available quota.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int64</command:parameterValue>\n        <dev:type>\n          <maml:name>Int64</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StorageQuotaWarningLevel</maml:name>\n        <maml:description>\n          <maml:para>Specifies the warning level for the storage quota in megabytes. This value must not exceed the values set for the StorageQuota parameter</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int64</command:parameterValue>\n        <dev:type>\n          <maml:name>Int64</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Template</maml:name>\n        <maml:description>\n          <maml:para>Specifies the site collection template type. Use the Get-PnPWebTemplate cmdlet to get the list of valid templates. If no template is specified, one can be added later. The Template and LocaleId parameters must be a valid combination as returned from the Get-PnPWebTemplates cmdlet.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TimeZone</maml:name>\n        <maml:description>\n          <maml:para>Use Get-PnPTimeZoneId to retrieve possible timezone values</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>Specifies the title of the new site collection</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>Specifies the full URL of the new site collection. It must be in a valid managed path in the company's site. For example, for company contoso, valid managed paths are https://contoso.sharepoint.com/sites and https://contoso.sharepoint.com/teams.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Wait</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPTenantSite -Title Contoso -Url https://tenant.sharepoint.com/sites/contoso -Owner user@example.org -TimeZone 4 -Template STS#0</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a site collection with the title 'Contoso', the url 'https://tenant.sharepoint.com/sites/contoso', the timezone 'UTC+01:00',the owner 'user@example.org' and the template used will be STS#0, a TeamSite</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPTenantSite -Title Contoso -Url /sites/contososite -Owner user@example.org -TimeZone 4 -Template STS#0</dev:code>\n        <maml:remarks>\n          <maml:para>This will add a site collection with the title 'Contoso', the url 'https://tenant.sharepoint.com/sites/contososite' of which the base part will be picked up from your current connection, the timezone 'UTC+01:00', the owner 'user@example.org' and the template used will be STS#0, a TeamSite</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Locale IDs:</maml:linkText>\n        <maml:uri>http://go.microsoft.com/fwlink/p/?LinkId=242911Id=242911</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Resource Usage Limits on Sandboxed Solutions in SharePoint 2010:</maml:linkText>\n        <maml:uri>http://msdn.microsoft.com/en-us/library/gg615462.aspx.</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Creating on-premises site collections using CSOM:</maml:linkText>\n        <maml:uri>http://blogs.msdn.com/b/vesku/archive/2014/06/09/provisioning-site-collections-using-sp-app-model-in-on-premises-with-just-csom.aspx</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPTerm</command:name>\n      <maml:description>\n        <maml:para>Creates a taxonomy term</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPTerm</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPTerm</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the term.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermGroup</maml:name>\n          <maml:description>\n            <maml:para>The termgroup to create the term in.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Title or TermGroup</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermSet</maml:name>\n          <maml:description>\n            <maml:para>The termset to add the term to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Title or TaxonomyItem</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Id</maml:name>\n          <maml:description>\n            <maml:para>The Id to use for the term; if not specified, or the empty GUID, a random GUID is generated and used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Guid</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Lcid</maml:name>\n          <maml:description>\n            <maml:para>The locale id to use for the term. Defaults to the current locale id.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Descriptive text to help users understand the intended use of this term.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CustomProperties</maml:name>\n          <maml:description>\n            <maml:para>Custom Properties</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LocalCustomProperties</maml:name>\n          <maml:description>\n            <maml:para>Custom Properties</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStore</maml:name>\n          <maml:description>\n            <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Name or Object</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CustomProperties</maml:name>\n        <maml:description>\n          <maml:para>Custom Properties</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Descriptive text to help users understand the intended use of this term.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Id</maml:name>\n        <maml:description>\n          <maml:para>The Id to use for the term; if not specified, or the empty GUID, a random GUID is generated and used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Guid</command:parameterValue>\n        <dev:type>\n          <maml:name>Guid</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Lcid</maml:name>\n        <maml:description>\n          <maml:para>The locale id to use for the term. Defaults to the current locale id.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>LocalCustomProperties</maml:name>\n        <maml:description>\n          <maml:para>Custom Properties</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the term.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermGroup</maml:name>\n        <maml:description>\n          <maml:para>The termgroup to create the term in.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Id, Title or TermGroup</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Title or TermGroup</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermSet</maml:name>\n        <maml:description>\n          <maml:para>The termset to add the term to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Id, Title or TaxonomyItem</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Title or TaxonomyItem</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStore</maml:name>\n        <maml:description>\n          <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Name or Object</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Name or Object</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Taxonomy.Term</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPTerm -TermSet \"Departments\" -TermGroup \"Corporate\" -Name \"Finance\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new taxonomy term named \"Finance\" in the termset Departments which is located in the \"Corporate\" termgroup</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPTermGroup</command:name>\n      <maml:description>\n        <maml:para>Creates a taxonomy term group</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPTermGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPTermGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>Name of the taxonomy term group to create.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Id</maml:name>\n          <maml:description>\n            <maml:para>GUID to use for the term group; if not specified, or the empty GUID, a random GUID is generated and used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Guid</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Description to use for the term group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStore</maml:name>\n          <maml:description>\n            <maml:para>Term store to add the group to; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Name or Object</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Description to use for the term group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Id</maml:name>\n        <maml:description>\n          <maml:para>GUID to use for the term group; if not specified, or the empty GUID, a random GUID is generated and used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Guid</command:parameterValue>\n        <dev:type>\n          <maml:name>Guid</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>Name of the taxonomy term group to create.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStore</maml:name>\n        <maml:description>\n          <maml:para>Term store to add the group to; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Name or Object</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Name or Object</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Taxonomy.TermGroup</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPTermGroup -GroupName \"Countries\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new taxonomy term group named \"Countries\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPTermSet</command:name>\n      <maml:description>\n        <maml:para>Creates a taxonomy term set</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPTermSet</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPTermSet</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The name of the termset.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermGroup</maml:name>\n          <maml:description>\n            <maml:para>Name, id or actualy termgroup to create the termset in.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Title or TermGroup</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Id</maml:name>\n          <maml:description>\n            <maml:para>The Id to use for the term set; if not specified, or the empty GUID, a random GUID is generated and used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Guid</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Lcid</maml:name>\n          <maml:description>\n            <maml:para>The locale id to use for the term set. Defaults to the current locale id.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Contact</maml:name>\n          <maml:description>\n            <maml:para>An e-mail address for term suggestion and feedback. If left blank the suggestion feature will be disabled.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>Descriptive text to help users understand the intended use of this term set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IsOpenForTermCreation</maml:name>\n          <maml:description>\n            <maml:para>When a term set is closed, only metadata managers can add terms to this term set. When it is open, users can add terms from a tagging application. Not specifying this switch will make the term set closed.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IsNotAvailableForTagging</maml:name>\n          <maml:description>\n            <maml:para>By default a term set is available to be used by end users and content editors of sites consuming this term set. Specify this switch to turn this off</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Owner</maml:name>\n          <maml:description>\n            <maml:para>The primary user or group of this term set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StakeHolders</maml:name>\n          <maml:description>\n            <maml:para>People and groups in the organization that should be notified before major changes are made to the term set. You can enter multiple users or groups.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CustomProperties</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStore</maml:name>\n          <maml:description>\n            <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Id, Name or Object</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Contact</maml:name>\n        <maml:description>\n          <maml:para>An e-mail address for term suggestion and feedback. If left blank the suggestion feature will be disabled.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CustomProperties</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>Descriptive text to help users understand the intended use of this term set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Id</maml:name>\n        <maml:description>\n          <maml:para>The Id to use for the term set; if not specified, or the empty GUID, a random GUID is generated and used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Guid</command:parameterValue>\n        <dev:type>\n          <maml:name>Guid</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IsNotAvailableForTagging</maml:name>\n        <maml:description>\n          <maml:para>By default a term set is available to be used by end users and content editors of sites consuming this term set. Specify this switch to turn this off</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IsOpenForTermCreation</maml:name>\n        <maml:description>\n          <maml:para>When a term set is closed, only metadata managers can add terms to this term set. When it is open, users can add terms from a tagging application. Not specifying this switch will make the term set closed.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Lcid</maml:name>\n        <maml:description>\n          <maml:para>The locale id to use for the term set. Defaults to the current locale id.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The name of the termset.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Owner</maml:name>\n        <maml:description>\n          <maml:para>The primary user or group of this term set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StakeHolders</maml:name>\n        <maml:description>\n          <maml:para>People and groups in the organization that should be notified before major changes are made to the term set. You can enter multiple users or groups.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermGroup</maml:name>\n        <maml:description>\n          <maml:para>Name, id or actualy termgroup to create the termset in.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Id, Title or TermGroup</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Title or TermGroup</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStore</maml:name>\n        <maml:description>\n          <maml:para>Term store to check; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Id, Name or Object</command:parameterValue>\n        <dev:type>\n          <maml:name>Id, Name or Object</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Taxonomy.TermSet</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPTermSet -Name \"Department\" -TermGroup \"Corporate\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new termset named \"Department\" in the group named \"Corporate\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPUser</command:name>\n      <maml:description>\n        <maml:para>Adds a user to the built-in Site User Info List and returns a user object</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPUser</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPUser</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>LoginName</maml:name>\n          <maml:description>\n            <maml:para>The users login name (user@company.com)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>LoginName</maml:name>\n        <maml:description>\n          <maml:para>The users login name (user@company.com)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.User</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPUser -LoginName user@company.com</dev:code>\n        <maml:remarks>\n          <maml:para>Adds a new user with the login user@company.com to the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>New-PnPWeb</command:name>\n      <maml:description>\n        <maml:para>Creates a new subweb under the current web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>New</command:verb>\n      <command:noun>PnPWeb</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>New-PnPWeb</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the new web</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The URL of the new web</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Template</maml:name>\n          <maml:description>\n            <maml:para>The site definition template to use for the new web, e.g. STS#0. Use Get-PnPWebTemplates to fetch a list of available templates</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The description of the new web</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Locale</maml:name>\n          <maml:description>\n            <maml:para>The language id of the new web. default = 1033 for English</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>BreakInheritance</maml:name>\n          <maml:description>\n            <maml:para>By default the subweb will inherit its security from its parent, specify this switch to break this inheritance</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>InheritNavigation</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether the site inherits navigation.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>BreakInheritance</maml:name>\n        <maml:description>\n          <maml:para>By default the subweb will inherit its security from its parent, specify this switch to break this inheritance</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The description of the new web</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>InheritNavigation</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether the site inherits navigation.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Locale</maml:name>\n        <maml:description>\n          <maml:para>The language id of the new web. default = 1033 for English</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Template</maml:name>\n        <maml:description>\n          <maml:para>The site definition template to use for the new web, e.g. STS#0. Use Get-PnPWebTemplates to fetch a list of available templates</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the new web</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The URL of the new web</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Web</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; New-PnPWeb -Title \"Project A Web\" -Url projectA -Description \"Information about Project A\" -Locale 1033 -Template \"STS#0\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a new subweb under the current web with URL projectA</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Publish-PnPApp</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nPublishes/Deploys/Trusts an available app in the app catalog</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Publish</command:verb>\n      <command:noun>PnPApp</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Publish-PnPApp</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id of the app</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipFeatureDeployment</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Id of the app</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>AppMetadataPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SkipFeatureDeployment</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Publish-PnPApp</dev:code>\n        <maml:remarks>\n          <maml:para>This will deploy/trust an app into the app catalog. Notice that the app needs to be available in the app catalog</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Read-PnPProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Loads/Reads a PnP file from the file system</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Read</command:verb>\n      <command:noun>PnPProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Read-PnPProvisioningTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Filename to read from, optionally including full path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while loading the template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Filename to read from, optionally including full path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateProviderExtensions</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ITemplateProviderExtension to execute while loading the template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ITemplateProviderExtension[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ITemplateProviderExtension[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Read-PnPProvisioningTemplate -Path template.pnp</dev:code>\n        <maml:remarks>\n          <maml:para>Loads a PnP file from the file systems</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Read-PnPProvisioningTemplate -Path template.pnp -TemplateProviderExtensions $extensions</dev:code>\n        <maml:remarks>\n          <maml:para>Loads a PnP file from the file systems using some custom template provider extenions while loading the file.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Register-PnPHubSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRegisters a site as a hubsite</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Register</command:verb>\n      <command:noun>PnPHubSite</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Registers a site as a hubsite</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Register-PnPHubSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Site</maml:name>\n          <maml:description>\n            <maml:para>The site to register as a hubsite</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Site</maml:name>\n        <maml:description>\n          <maml:para>The site to register as a hubsite</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>SitePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Register-PnPHubSite -Site https://tenant.sharepoint.com/sites/myhubsite</dev:code>\n        <maml:remarks>\n          <maml:para>This example registers the specified site as a hubsite</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPApp</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves an app from the app catalog</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPApp</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPApp</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id of the Addin Instance</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Id of the Addin Instance</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>AppMetadataPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPApp -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the specified app from the app catalog</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPClientSideComponent</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves a Client-Side component from a page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPClientSideComponent</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPClientSideComponent</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InstanceId</maml:name>\n          <maml:description>\n            <maml:para>The instance id of the component</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If specified you will not receive the confirmation question</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If specified you will not receive the confirmation question</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>InstanceId</maml:name>\n        <maml:description>\n          <maml:para>The instance id of the component</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Page</maml:name>\n        <maml:description>\n          <maml:para>The name of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPClientSideComponent -Page Home -InstanceId a2875399-d6ff-43a0-96da-be6ae5875f82</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the control specified from the page.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPClientSidePage</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves a Client-Side Page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPClientSidePage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPClientSidePage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The name of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPClientSidePage -Identity \"MyPage\"</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the Client-Side page named 'MyPage.aspx'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPClientSidePage $page</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the specified Client-Side page which is contained in the $page variable.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPContentType</command:name>\n      <maml:description>\n        <maml:para>Removes a content type from a web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPContentType</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPContentType</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The name or ID of the content type to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The name or ID of the content type to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPContentType -Identity \"Project Document\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove a content type called \"Project Document\" from the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPContentType -Identity \"Project Document\" -Force</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove a content type called \"Project Document\" from the current web with force</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPContentTypeFromDocumentSet</command:name>\n      <maml:description>\n        <maml:para>Removes a content type from a document set</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPContentTypeFromDocumentSet</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPContentTypeFromDocumentSet</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>The content type to remove. Either specify name, an id, or a content type object.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DocumentSet</maml:name>\n          <maml:description>\n            <maml:para>The document set to remove the content type from. Either specify a name, a document set template object, an id, or a content type object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DocumentSetPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>The content type to remove. Either specify name, an id, or a content type object.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DocumentSet</maml:name>\n        <maml:description>\n          <maml:para>The document set to remove the content type from. Either specify a name, a document set template object, an id, or a content type object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">DocumentSetPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>DocumentSetPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPContentTypeFromDocumentSet -ContentType \"Test CT\" -DocumentSet \"Test Document Set\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the content type called 'Test CT' from the document set called ''Test Document Set'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPContentTypeFromDocumentSet -ContentType 0x0101001F1CEFF1D4126E4CAD10F00B6137E969 -DocumentSet 0x0120D520005DB65D094035A241BAC9AF083F825F3B</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the content type with ID '0x0101001F1CEFF1D4126E4CAD10F00B6137E969' from the document set with ID '0x0120D520005DB65D094035A241BAC9AF083F825F3B'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPContentTypeFromList</command:name>\n      <maml:description>\n        <maml:para>Removes a content type from a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPContentTypeFromList</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPContentTypeFromList</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The name of the list, its ID or an actual list object from where the content type needs to be removed from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>The name of a content type, its ID or an actual content type object that needs to be removed from the specified list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>The name of a content type, its ID or an actual content type object that needs to be removed from the specified list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The name of the list, its ID or an actual list object from where the content type needs to be removed from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPContentTypeFromList -List \"Documents\" -ContentType \"Project Document\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove a content type called \"Project Document\" from the \"Documents\" list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPCustomAction</command:name>\n      <maml:description>\n        <maml:para>Removes a custom action</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPCustomAction</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPCustomAction</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>Define if the CustomAction is to be found at the web or site collection scope. Specify All to allow deletion from either web or site collection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CustomActionScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Use the -Force flag to bypass the confirmation question</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The id or name of the CustomAction that needs to be removed or a CustomAction instance itself</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UserCustomActionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Use the -Force flag to bypass the confirmation question</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The id or name of the CustomAction that needs to be removed or a CustomAction instance itself</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UserCustomActionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UserCustomActionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>Define if the CustomAction is to be found at the web or site collection scope. Specify All to allow deletion from either web or site collection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CustomActionScope</command:parameterValue>\n        <dev:type>\n          <maml:name>CustomActionScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPCustomAction -Identity aa66f67e-46c0-4474-8a82-42bf467d07f2</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the custom action with the id 'aa66f67e-46c0-4474-8a82-42bf467d07f2'.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPCustomAction -Identity aa66f67e-46c0-4474-8a82-42bf467d07f2 -Scope web</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the custom action with the id 'aa66f67e-46c0-4474-8a82-42bf467d07f2' from the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPCustomAction -Identity aa66f67e-46c0-4474-8a82-42bf467d07f2 -Force</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the custom action with the id 'aa66f67e-46c0-4474-8a82-42bf467d07f2' without asking for confirmation.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPCustomAction -Scope All | ? Location -eq ScriptLink | Remove-PnPCustomAction</dev:code>\n        <maml:remarks>\n          <maml:para>Removes all custom actions that are ScriptLinks</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPIndexedProperty</command:name>\n      <maml:description>\n        <maml:para>Removes a key from propertybag to be indexed by search. The key and it's value remain in the propertybag, however it will not be indexed anymore.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPIndexedProperty</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPIndexedProperty</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para>Key of the property bag value to be removed from indexing</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para>Key of the property bag value to be removed from indexing</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPIndexedProperty -key \"MyIndexProperty\"</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the Indexed property \"MyIndexProperty\" from the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPEventReceiver</command:name>\n      <maml:description>\n        <maml:para>Remove an eventreceiver</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPEventReceiver</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Removes/unregisters a specific eventreceiver</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPEventReceiver</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Guid of the event receiver on the list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">EventReceiverPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object from where to remove the event receiver object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Guid of the event receiver on the list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">EventReceiverPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>EventReceiverPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object from where to remove the event receiver object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPEventReceiver -Identity fb689d0e-eb99-4f13-beb3-86692fd39f22</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the event receiver with ReceiverId \"fb689d0e-eb99-4f13-beb3-86692fd39f22\" from the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPEventReceiver -List ProjectList -Identity fb689d0e-eb99-4f13-beb3-86692fd39f22</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the event receiver with ReceiverId \"fb689d0e-eb99-4f13-beb3-86692fd39f22\" from the \"ProjectList\" list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPEventReceiver -List ProjectList -Identity MyReceiver</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the event receiver with ReceiverName \"MyReceiver\" from the \"ProjectList\" list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPEventReceiver -List ProjectList</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove all event receivers from the \"ProjectList\" list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPEventReceiver</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove all event receivers from the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPEventReceiver | ? ReceiverUrl -Like \"*azurewebsites.net*\" | Remove-PnPEventReceiver</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove all event receivers from the current site which are pointing to a service hosted on Azure Websites</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPField</command:name>\n      <maml:description>\n        <maml:para>Removes a field from a list or a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPField</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPField</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The field object or name to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"1\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object or name where to remove the field from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The field object or name to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FieldPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"1\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object or name where to remove the field from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPField -Identity \"Speakers\"</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the speakers field from the site columns</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPField -List \"Demo list\" -Identity \"Speakers\"</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the speakers field from the list Demo list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPFieldFromContentType</command:name>\n      <maml:description>\n        <maml:para>Removes a site column from a content type</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPFieldFromContentType</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPFieldFromContentType</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Field</maml:name>\n          <maml:description>\n            <maml:para>The field to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>The content type where the field is to be removed from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DoNotUpdateChildren</maml:name>\n          <maml:description>\n            <maml:para>If specified, inherited content types will not be updated</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>The content type where the field is to be removed from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DoNotUpdateChildren</maml:name>\n        <maml:description>\n          <maml:para>If specified, inherited content types will not be updated</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Field</maml:name>\n        <maml:description>\n          <maml:para>The field to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FieldPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPFieldFromContentType -Field \"Project_Name\" -ContentType \"Project Document\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the site column with an internal name of \"Project_Name\" from a content type called \"Project Document\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPFieldFromContentType -Field \"Project_Name\" -ContentType \"Project Document\" -DoNotUpdateChildren</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the site column with an internal name of \"Project_Name\" from a content type called \"Project Document\". It will not update content types that inherit from the \"Project Document\" content type.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPFile</command:name>\n      <maml:description>\n        <maml:para>Removes a file.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPFile</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Server relative URL to the file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Recycle</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SiteRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Site relative URL to the file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Recycle</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Recycle</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Server relative URL to the file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SiteRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Site relative URL to the file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Remove-PnPFile -ServerRelativeUrl /sites/project/_catalogs/themes/15/company.spcolor</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the file company.spcolor</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Remove-PnPFile -SiteRelativeUrl _catalogs/themes/15/company.spcolor</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the file company.spcolor</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Remove-PnPFile -SiteRelativeUrl _catalogs/themes/15/company.spcolor -Recycle</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the file company.spcolor and saves it to the Recycle Bin</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPFileFromProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Removes a file from a PnP Provisioning Template</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPFileFromProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPFileFromProvisioningTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Filename to read the template from, optionally including full path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>FilePath</maml:name>\n          <maml:description>\n            <maml:para>The relative File Path of the file to remove from the in-memory template</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"2\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while saving the template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>FilePath</maml:name>\n        <maml:description>\n          <maml:para>The relative File Path of the file to remove from the in-memory template</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Filename to read the template from, optionally including full path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"2\">\n        <maml:name>TemplateProviderExtensions</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ITemplateProviderExtension to execute while saving the template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ITemplateProviderExtension[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ITemplateProviderExtension[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPFileFromProvisioningTemplate -Path template.pnp -FilePath filePath</dev:code>\n        <maml:remarks>\n          <maml:para>Removes a file from an in-memory PnP Provisioning Template</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPFolder</command:name>\n      <maml:description>\n        <maml:para>Deletes a folder within a parent folder</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPFolder</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPFolder</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The folder name</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>The parent folder in the site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Recycle</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>The parent folder in the site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The folder name</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Recycle</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPFolder -Name NewFolder -Folder _catalogs/masterpage</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the folder 'NewFolder' from '_catalogsmasterpage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPFolder -Name NewFolder -Folder _catalogs/masterpage -Recycle</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the folder 'NewFolder' from '_catalogsmasterpage' and is saved in the Recycle Bin</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPGroup</command:name>\n      <maml:description>\n        <maml:para>Removes a group from a web.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPGroup</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>A group object, an ID or a name of a group to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>A group object, an ID or a name of a group to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPGroup -Identity \"My Users\"</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the group \"My Users\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPHubSiteAssociation</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nDisconnects a site from a hubsite.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPHubSiteAssociation</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Disconnects an site from a hubsite</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPHubSiteAssociation</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Site</maml:name>\n          <maml:description>\n            <maml:para>The site to disconnect from its hubsite</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Site</maml:name>\n        <maml:description>\n          <maml:para>The site to disconnect from its hubsite</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>SitePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPHubSiteAssociation -Site https://tenant.sharepoint.com/sites/mysite -HubSite https://tenant.sharepoint.com/sites/hubsite</dev:code>\n        <maml:remarks>\n          <maml:para>This example adds the specified site to the hubsite.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPJavaScriptLink</command:name>\n      <maml:description>\n        <maml:para>Removes a JavaScript link or block from a web or sitecollection</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPJavaScriptLink</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPJavaScriptLink</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Use the -Force flag to bypass the confirmation question</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para>Define if the JavaScriptLink is to be found at the web or site collection scope. Specify All to allow deletion from either web or site collection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CustomActionScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Name or id of the JavaScriptLink to remove. Omit if you want to remove all JavaScript Links.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UserCustomActionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Use the -Force flag to bypass the confirmation question</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Name or id of the JavaScriptLink to remove. Omit if you want to remove all JavaScript Links.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UserCustomActionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UserCustomActionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para>Define if the JavaScriptLink is to be found at the web or site collection scope. Specify All to allow deletion from either web or site collection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CustomActionScope</command:parameterValue>\n        <dev:type>\n          <maml:name>CustomActionScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPJavaScriptLink -Identity jQuery</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the injected JavaScript file with the name jQuery from the current web after confirmation</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPJavaScriptLink -Identity jQuery -Scope Site</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the injected JavaScript file with the name jQuery from the current site collection after confirmation</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPJavaScriptLink -Identity jQuery -Scope Site -Confirm:$false</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the injected JavaScript file with the name jQuery from the current site collection and will not ask for confirmation</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPJavaScriptLink -Scope Site</dev:code>\n        <maml:remarks>\n          <maml:para>Removes all the injected JavaScript files from the current site collection after confirmation for each of them</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPJavaScriptLink -Identity faea0ce2-f0c2-4d45-a4dc-73898f3c2f2e -Scope All</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the injected JavaScript file with id faea0ce2-f0c2-4d45-a4dc-73898f3c2f2e from both the Web and Site scopes</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPJavaScriptLink -Scope All | ? Sequence -gt 1000 | Remove-PnPJavaScriptLink</dev:code>\n        <maml:remarks>\n          <maml:para>Removes all the injected JavaScript files from both the Web and Site scope that have a sequence number higher than 1000</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPList</command:name>\n      <maml:description>\n        <maml:para>Deletes a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPList</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPList</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID or Title of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Recycle</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID or Title of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Recycle</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPList -Identity Announcements</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the list named 'Announcements'. Asks for confirmation.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPList -Identity Announcements -Force</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the list named 'Announcements' without asking for confirmation.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPList -Title Announcements -Recycle</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the list named 'Announcements' and saves to the Recycle Bin</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPListItem</command:name>\n      <maml:description>\n        <maml:para>Deletes an item from a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPListItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPListItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Recycle</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Recycle</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPListItem -List \"Demo List\" -Identity \"1\" -Force</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the listitem with id \"1\" from the \"Demo List\" list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPListItem -List \"Demo List\" -Identity \"1\" -Force -Recycle</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the listitem with id \"1\" from the \"Demo List\" list and saves it in the Recycle Bin.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPNavigationNode</command:name>\n      <maml:description>\n        <maml:para>Removes a menu item from either the quicklaunch or top navigation</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPNavigationNode</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPNavigationNode</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Id or node object to delete</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">NavigationNodePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPNavigationNode</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>All</maml:name>\n          <maml:description>\n            <maml:para>Specifying the All parameter will remove all the nodes from specifed Location.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>All</maml:name>\n        <maml:description>\n          <maml:para>Specifying the All parameter will remove all the nodes from specifed Location.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Id or node object to delete</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">NavigationNodePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>NavigationNodePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPNavigationNode -Identity 1032</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the navigation node with the specified id</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $nodes = Get-PnPNavigationNode -QuickLaunch\nPS:&gt;$nodes | Select-Object -First 1 | Remove-PnPNavigationNode -Force</dev:code>\n        <maml:remarks>\n          <maml:para>Retrieves all navigation nodes from the Quick Launch navigation, then removes the first node in the list and it will not ask for a confirmation</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPNavigationNode -Title Recent -Location QuickLaunch</dev:code>\n        <maml:remarks>\n          <maml:para>Will remove the recent navigation node from the quick launch in the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPNavigationNode -Title Home -Location TopNavigationBar -Force</dev:code>\n        <maml:remarks>\n          <maml:para>Will remove the home navigation node from the top navigation bar without prompting for a confirmation in the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPNavigationNode -Location QuickLaunch -All</dev:code>\n        <maml:remarks>\n          <maml:para>Will remove all the navigation nodes from the quick launch bar in the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPStorageEntity</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemove Storage Entities / Farm Properties.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPStorageEntity</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPStorageEntity</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para>The key of the value to set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para>The key of the value to set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPStorageEntity -Key MyKey </dev:code>\n        <maml:remarks>\n          <maml:para>Removes an existing storage entity / farm property</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPPropertyBagValue</command:name>\n      <maml:description>\n        <maml:para>Removes a value from the property bag</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPPropertyBagValue</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPPropertyBagValue</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para>Key of the property bag value to be removed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>Site relative url of the folder. See examples for use.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>Site relative url of the folder. See examples for use.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para>Key of the property bag value to be removed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPPropertyBagValue -Key MyKey</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the value with key MyKey from the current web property bag</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPPropertyBagValue -Key MyKey -Folder /MyFolder</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the value with key MyKey from the folder MyFolder which is located in the root folder of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPPropertyBagValue -Key MyKey -Folder /</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the value with key MyKey from the root folder of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPPublishingImageRendition</command:name>\n      <maml:description>\n        <maml:para>Removes an existing image rendition</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPPublishingImageRendition</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPPublishingImageRendition</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The display name or id of the Image Rendition.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ImageRenditionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be asked to remove the Image Rendition.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If provided, no confirmation will be asked to remove the Image Rendition.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The display name or id of the Image Rendition.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ImageRenditionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ImageRenditionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPPublishingImageRendition -Name \"MyImageRendition\" -Width 800 -Height 600</dev:code>\n        <maml:remarks>\n          <maml:para />\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPRoleDefinition</command:name>\n      <maml:description>\n        <maml:para>Remove a Role Definition from a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPRoleDefinition</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPRoleDefinition</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The identity of the role definition, either a RoleDefinition object or a the name of roledefinition</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">RoleDefinitionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Do not ask for confirmation to delete the role definition</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Do not ask for confirmation to delete the role definition</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The identity of the role definition, either a RoleDefinition object or a the name of roledefinition</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">RoleDefinitionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>RoleDefinitionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPRoleDefinition -Identity MyRoleDefinition</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the specified Role Definition (Permission Level) from the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPTenantSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves a site collection</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPTenantSite</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Removes a site collection which is listed in your tenant administration site.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPTenantSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Specifies the full URL of the site collection that needs to be deleted</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SkipRecycleBin</maml:name>\n          <maml:description>\n            <maml:para>Do not add to the tenant scoped recycle bin when selected.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Do not ask for confirmation.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Do not ask for confirmation.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SkipRecycleBin</maml:name>\n        <maml:description>\n          <maml:para>Do not add to the tenant scoped recycle bin when selected.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>Specifies the full URL of the site collection that needs to be deleted</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPTenantSite -Url https://tenant.sharepoint.com/sites/contoso</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the site collection with the url 'https://tenant.sharepoint.com/sites/contoso'  and put it in the recycle bin.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPTenantSite -Url https://tenant.sharepoint.com/sites/contoso -Force -SkipRecycleBin</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the site collection with the url 'https://tenant.sharepoint.com/sites/contoso' with force and it will skip the recycle bin.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPTenantSite -Url https://tenant.sharepoint.com/sites/contoso -FromRecycleBin</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the site collection with the url 'https://tenant.sharepoint.com/sites/contoso' from the recycle bin.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPSiteClassification</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves one or more existing site classification values from the list of available values. Requires a connection to the Microsoft Graph</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPSiteClassification</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPSiteClassification</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Classifications</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Confirm</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Confirm parameter will allow the confirmation question to be skipped</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Classifications</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Confirm</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Confirm parameter will allow the confirmation question to be skipped</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Remove-PnPSiteClassification -Classifications \"HBI\"</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the \"HBI\" site classification from the list of available values.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Remove-PnPSiteClassification -Classifications \"HBI\", \"Top Secret\"</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the \"HBI\" site classification from the list of available values.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPSiteCollectionAdmin</command:name>\n      <maml:description>\n        <maml:para>Removes one or more users as site collection administrators from the site collection in the current context</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPSiteCollectionAdmin</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command allows removing one to many users as site collection administrators from the site collection in the current context. All existing site collection administrators not included in this command will remain site collection administrator.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPSiteCollectionAdmin</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Owners</maml:name>\n          <maml:description>\n            <maml:para>Specifies owner(s) to remove as site collection adminstrators. Can be both users and groups.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UserPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Owners</maml:name>\n        <maml:description>\n          <maml:para>Specifies owner(s) to remove as site collection adminstrators. Can be both users and groups.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">UserPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UserPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPSiteCollectionAdmin -Owners \"user@contoso.onmicrosoft.com\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove user@contoso.onmicrosoft.com as a site collection owner from the site collection in the current context</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPSiteCollectionAdmin -Owners @(\"user1@contoso.onmicrosoft.com\", \"user2@contoso.onmicrosoft.com\")</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove user1@contoso.onmicrosoft.com and user2@contoso.onmicrosoft.com as site collection owners from the site collection in the current context</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUser | ? Title -Like \"*Doe\" | Remove-PnPSiteCollectionAdmin</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove all users with their title ending with \"Doe\" as site collection owners from the site collection in the current context</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteCollectionAdmin | Remove-PnPSiteCollectionAdmin</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove all existing site collection administrators from the site collection in the current context</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPSiteCollectionAppCatalog</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves a Site Collection scoped App Catalog from a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPSiteCollectionAppCatalog</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Notice that this will not remove the App Catalog list and its contents from the site.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPSiteCollectionAppCatalog</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Site</maml:name>\n          <maml:description>\n            <maml:para>Url of the site to remove the app catalog from.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Site</maml:name>\n        <maml:description>\n          <maml:para>Url of the site to remove the app catalog from.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>SitePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPOffice365GroupToSite -Url \"https://contoso.sharepoint.com/sites/FinanceTeamsite\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove a SiteCollection app catalog from the specified site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPSiteDesign</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves a Site Design</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPSiteDesign</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPSiteDesign</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the site design to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If specified you will not be asked to confirm removing the specified Site Design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If specified you will not be asked to confirm removing the specified Site Design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the site design to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteDesignPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPSiteDesign -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the specified site design</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPSiteScript</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves a Site Script</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPSiteScript</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPSiteScript</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the Site Script to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteScriptPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If specified you will not be asked to confirm removing the specified Site Script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If specified you will not be asked to confirm removing the specified Site Script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the Site Script to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">TenantSiteScriptPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteScriptPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPSiteScript -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the specified site script</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPStoredCredential</command:name>\n      <maml:description>\n        <maml:para>Removes a credential</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPStoredCredential</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Removes a stored credential from the Windows Credential Manager</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPStoredCredential</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>The credential to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If specified you will not be asked for confirmation</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If specified you will not be asked for confirmation</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>The credential to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPStoredCredential -Name https://tenant.sharepoint.com</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the specified credential from the Windows Credential Manager</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPTaxonomyItem</command:name>\n      <maml:description>\n        <maml:para>Removes a taxonomy item</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPTaxonomyItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPTaxonomyItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermPath</maml:name>\n          <maml:description>\n            <maml:para>The path, delimited by | of the taxonomy item to remove, alike GROUPLABEL|TERMSETLABEL|TERMLABEL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermPath</maml:name>\n        <maml:description>\n          <maml:para>The path, delimited by | of the taxonomy item to remove, alike GROUPLABEL|TERMSETLABEL|TERMLABEL</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPTenantCdnOrigin</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves an origin from the Public or Private content delivery network (CDN).</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPTenantCdnOrigin</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Removes an origin from the Public or Private content delivery network (CDN).\n\nYou must be a SharePoint Online global administrator to run the cmdlet.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPTenantCdnOrigin</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>OriginUrl</maml:name>\n          <maml:description>\n            <maml:para>The origin to remove.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CdnType</maml:name>\n          <maml:description>\n            <maml:para>The cdn type to remove the origin from.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CdnType</maml:name>\n        <maml:description>\n          <maml:para>The cdn type to remove the origin from.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOTenantCdnType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>OriginUrl</maml:name>\n        <maml:description>\n          <maml:para>The origin to remove.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPTenantCdnOrigin -Url /sites/site/subfolder -CdnType Public</dev:code>\n        <maml:remarks>\n          <maml:para>This example removes the specified origin from the public CDN</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPTenantTheme</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves a theme</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPTenantTheme</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Removes the specified theme from the tenant configuration</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPTenantTheme</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The name of the theme to retrieve</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ThemePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The name of the theme to retrieve</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ThemePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ThemePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPTenantTheme -Name \"MyCompanyTheme\"</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the specified theme.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPTermGroup</command:name>\n      <maml:description>\n        <maml:para>Removes a taxonomy term group and all its containing termsets</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPTermGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPTermGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>GroupName</maml:name>\n          <maml:description>\n            <maml:para>Name of the taxonomy term group to delete.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TermStoreName</maml:name>\n          <maml:description>\n            <maml:para>Term store to use; if not specified the default term store is used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>GroupName</maml:name>\n        <maml:description>\n          <maml:para>Name of the taxonomy term group to delete.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TermStoreName</maml:name>\n        <maml:description>\n          <maml:para>Term store to use; if not specified the default term store is used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPUnifiedGroup</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves one Office 365 Group (aka Unified Group) or a list of Office 365 Groups</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPUnifiedGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPUnifiedGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Identity of the Office 365 Group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UnifiedGroupPipeBind</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Identity of the Office 365 Group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">UnifiedGroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UnifiedGroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPUnifiedGroup -Identity $groupId</dev:code>\n        <maml:remarks>\n          <maml:para>Removes an Office 365 Groups based on its ID</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPUnifiedGroup -Identity $group</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the provided Office 365 Groups</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPUser</command:name>\n      <maml:description>\n        <maml:para>Removes a specific user from the site collection User Information List</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPUser</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>This command will allow the removal of a specific user from the User Information List</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPUser</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>User ID or login name</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UserPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Confirm</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Confirm parameter will allow the confirmation question to be skipped</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Confirm</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Confirm parameter will allow the confirmation question to be skipped</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>User ID or login name</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">UserPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UserPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.User</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPUser -Identity 23</dev:code>\n        <maml:remarks>\n          <maml:para>Remove the user with Id 23 from the User Information List of the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPUser -Identity i:0#.f|membership|user@tenant.onmicrosoft.com</dev:code>\n        <maml:remarks>\n          <maml:para>Remove the user with LoginName i:0#.f|membership|user@tenant.onmicrosoft.com from the User Information List of the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPUser | ? Email -eq \"user@tenant.onmicrosoft.com\" | Remove-PnPUser</dev:code>\n        <maml:remarks>\n          <maml:para>Remove the user with e-mail address user@tenant.onmicrosoft.com from the User Information List of the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPUser -Identity i:0#.f|membership|user@tenant.onmicrosoft.com -Confirm:$false</dev:code>\n        <maml:remarks>\n          <maml:para>Remove the user with LoginName i:0#.f|membership|user@tenant.onmicrosoft.com from the User Information List of the current site collection without asking to confirm the removal first</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPUserFromGroup</command:name>\n      <maml:description>\n        <maml:para>Removes a user from a group</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPUserFromGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPUserFromGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>LoginName</maml:name>\n          <maml:description>\n            <maml:para>A valid login name of a user (user@company.com)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>A group object, an ID or a name of a group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>A group object, an ID or a name of a group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>LoginName</maml:name>\n        <maml:description>\n          <maml:para>A valid login name of a user (user@company.com)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPUserFromGroup -LoginName user@company.com -GroupName 'Marketing Site Members'</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the user user@company.com from the Group 'Marketing Site Members'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPView</command:name>\n      <maml:description>\n        <maml:para>Deletes a view from a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPView</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPView</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID or Title of the view.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ViewPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID or Title of the view.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ViewPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ViewPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPView -List \"Demo List\" -Identity \"All Items\"</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the view with title \"All Items\" from the \"Demo List\" list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPWeb</command:name>\n      <maml:description>\n        <maml:para>Removes a subweb in the current web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPWeb</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPWeb</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The site relative url of the web, e.g. 'Subweb1'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Do not ask for confirmation to delete the subweb</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPWeb</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Identity/Id/Web object to delete</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Do not ask for confirmation to delete the subweb</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Do not ask for confirmation to delete the subweb</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Identity/Id/Web object to delete</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The site relative url of the web, e.g. 'Subweb1'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPWeb -Url projectA</dev:code>\n        <maml:remarks>\n          <maml:para>Remove a web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPWeb -Identity 5fecaf67-6b9e-4691-a0ff-518fc9839aa0</dev:code>\n        <maml:remarks>\n          <maml:para>Remove a web specified by its ID</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSubWebs | Remove-PnPWeb -Force</dev:code>\n        <maml:remarks>\n          <maml:para>Remove all subwebs and do not ask for confirmation</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPWebhookSubscription</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRemoves a Webhook subscription from the resource</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPWebhookSubscription</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPWebhookSubscription</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The identity of the Webhook subscription to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebhookSubscriptionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object or name which the Webhook subscription will be removed from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The identity of the Webhook subscription to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WebhookSubscriptionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebhookSubscriptionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object or name which the Webhook subscription will be removed from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>OfficeDevPnP.Core.Entities.WebhookSubscription</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPWebhookSubscription -List MyList -Identity ea1533a8-ff03-415b-a7b6-517ee50db8b6</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the Webhook subscription with the specified id from the list MyList</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $subscriptions = Get-PnPWebhookSubscriptions -List MyList\nPS:&gt; Remove-PnPWebhookSubscription -Identity $subscriptions[0] -List MyList</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the first Webhook subscription from the list MyList</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $subscriptions = Get-PnPWebhookSubscriptions -List MyList\nPS:&gt; $subscriptions[0] | Remove-PnPWebhookSubscription -List MyList</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the first Webhook subscription from the list MyList</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPWebPart</command:name>\n      <maml:description>\n        <maml:para>Removes a webpart from a page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPWebPart</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPWebPart</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Guid of the webpart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Full server relative url of the webpart page, e.g. /sites/demo/sitepages/home.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPWebPart</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The name of the webpart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Full server relative url of the webpart page, e.g. /sites/demo/sitepages/home.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Guid of the webpart</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>Full server relative url of the webpart page, e.g. /sites/demo/sitepages/home.aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The name of the webpart</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPWebPartToWikiPage -ServerRelativePageUrl \"/sites/demo/sitepages/home.aspx\" -Identity a2875399-d6ff-43a0-96da-be6ae5875f82</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the webpart as defined by the XML in the listview.webpart file to the specified page in the first row and the first column of the HTML table present on the page</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPWebPartToWikiPage -ServerRelativePageUrl \"/sites/demo/sitepages/home.aspx\" -Name MyWebpart</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the webpart as defined by the XML in the listview.webpart file to the specified page in the first row and the first column of the HTML table present on the page</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPWikiPage</command:name>\n      <maml:description>\n        <maml:para>Removes a wiki page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPWikiPage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPWikiPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPWikiPage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SiteRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SiteRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPWikiPage -PageUrl '/pages/wikipage.aspx'</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the page '/pages/wikipage.aspx'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPWorkflowDefinition</command:name>\n      <maml:description>\n        <maml:para>Removes a workflow definition</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPWorkflowDefinition</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPWorkflowDefinition</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The definition to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WorkflowDefinitionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The definition to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WorkflowDefinitionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WorkflowDefinitionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPWorkflowDefinition -Identity $wfDef</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the workflow, retrieved by Get-PnPWorkflowDefinition, from the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWorkflowDefinition -Name MyWorkflow | Remove-PnPWorkflowDefinition</dev:code>\n        <maml:remarks>\n          <maml:para>Get the workflow MyWorkFlow and remove from the site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Remove-PnPWorkflowSubscription</command:name>\n      <maml:description>\n        <maml:para>Remove workflow subscription</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Remove</command:verb>\n      <command:noun>PnPWorkflowSubscription</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Removes a previously registered workflow subscription</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Remove-PnPWorkflowSubscription</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The subscription to remove</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WorkflowSubscriptionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The subscription to remove</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WorkflowSubscriptionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WorkflowSubscriptionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Remove-PnPWorkflowSubscription -identity $wfSub</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the workflowsubscription, retrieved by Get-PnPWorkflowSubscription.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPWorkflowSubscription -Name MyWorkflow | Remove-PnPWorkflowSubscription</dev:code>\n        <maml:remarks>\n          <maml:para>Get the workflowSubscription MyWorkFlow and remove it.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Rename-PnPFile</command:name>\n      <maml:description>\n        <maml:para>Renames a file in its current location</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Rename</command:verb>\n      <command:noun>PnPFile</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Rename-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Server relative Url specifying the file to rename. Must include the file name.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>TargetFileName</maml:name>\n          <maml:description>\n            <maml:para>File name to rename the file to. Should only be the file name and not include the path to its location. Use Move-PnPFile to move the file to another location.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OverwriteIfAlreadyExists</maml:name>\n          <maml:description>\n            <maml:para>If provided, if a file already exist with the provided TargetFileName, it will be overwritten. If ommitted, the rename operation will be canceled if a file already exists with the TargetFileName file name.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be requested and the action will be performed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Rename-PnPFile</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SiteRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Site relative Url specifying the file to rename. Must include the file name.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>TargetFileName</maml:name>\n          <maml:description>\n            <maml:para>File name to rename the file to. Should only be the file name and not include the path to its location. Use Move-PnPFile to move the file to another location.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OverwriteIfAlreadyExists</maml:name>\n          <maml:description>\n            <maml:para>If provided, if a file already exist with the provided TargetFileName, it will be overwritten. If ommitted, the rename operation will be canceled if a file already exists with the TargetFileName file name.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be requested and the action will be performed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If provided, no confirmation will be requested and the action will be performed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OverwriteIfAlreadyExists</maml:name>\n        <maml:description>\n          <maml:para>If provided, if a file already exist with the provided TargetFileName, it will be overwritten. If ommitted, the rename operation will be canceled if a file already exists with the TargetFileName file name.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Server relative Url specifying the file to rename. Must include the file name.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SiteRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Site relative Url specifying the file to rename. Must include the file name.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>TargetFileName</maml:name>\n        <maml:description>\n          <maml:para>File name to rename the file to. Should only be the file name and not include the path to its location. Use Move-PnPFile to move the file to another location.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Rename-PnPFile -ServerRelativeUrl /sites/project/Documents/company.docx -TargetFileName mycompany.docx</dev:code>\n        <maml:remarks>\n          <maml:para>Renames a file named company.docx located in the document library called Documents located in the projects sitecollection under the managed path sites to mycompany.docx. If a file named mycompany.aspx already exists, it won't perform the rename.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Rename-PnPFile -SiteRelativeUrl Documents/company.aspx -TargetFileName mycompany.docx</dev:code>\n        <maml:remarks>\n          <maml:para>Renames a file named company.docx located in the document library called Documents located in the current site to mycompany.aspx. If a file named mycompany.aspx already exists, it won't perform the rename.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Rename-PnPFile -ServerRelativeUrl /sites/project/Documents/company.docx -TargetFileName mycompany.docx -OverwriteIfAlreadyExists</dev:code>\n        <maml:remarks>\n          <maml:para>Renames a file named company.docx located in the document library called Documents located in the projects sitecollection under the managed path sites to mycompany.aspx. If a file named mycompany.aspx already exists, it will still perform the rename and replace the original mycompany.aspx file.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Rename-PnPFolder</command:name>\n      <maml:description>\n        <maml:para>Renames a folder</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Rename</command:verb>\n      <command:noun>PnPFolder</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Rename-PnPFolder</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>The folder to rename</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TargetFolderName</maml:name>\n          <maml:description>\n            <maml:para>The new folder name</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>The folder to rename</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TargetFolderName</maml:name>\n        <maml:description>\n          <maml:para>The new folder name</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Rename-PnPFolder -Folder Documents/Reports -TargetFolderName 'Archived Reports'</dev:code>\n        <maml:remarks>\n          <maml:para>This will rename the folder Reports in the Documents library to 'Archived Reports'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Request-PnPReIndexList</command:name>\n      <maml:description>\n        <maml:para>Marks the list for full indexing during the next incremental crawl</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Request</command:verb>\n      <command:noun>PnPReIndexList</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Request-PnPReIndexList</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Request-PnPReIndexList -Identity \"Demo List\"</dev:code>\n        <maml:remarks>\n          <maml:para />\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Request-PnPReIndexWeb</command:name>\n      <maml:description>\n        <maml:para>Marks the web for full indexing during the next incremental crawl</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Request</command:verb>\n      <command:noun>PnPReIndexWeb</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Request-PnPReIndexWeb</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Resolve-PnPFolder</command:name>\n      <maml:description>\n        <maml:para>Returns a folder from a given site relative path, and will create it if it does not exist.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Resolve</command:verb>\n      <command:noun>PnPFolder</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns a folder from a given site relative path, and will create it if it does not exist. If you do not want the folder to be created, for instance just to test if a folder exists, use Get-PnPFolder</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Resolve-PnPFolder</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>SiteRelativePath</maml:name>\n          <maml:description>\n            <maml:para>Site Relative Folder Path</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Includes</maml:name>\n          <maml:description>\n            <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Includes</maml:name>\n        <maml:description>\n          <maml:para>Specify properties to include when retrieving objects from the server.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>SiteRelativePath</maml:name>\n        <maml:description>\n          <maml:para>Site Relative Folder Path</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>The web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Folder</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Resolve-PnPFolder -SiteRelativePath \"demofolder/subfolder\"</dev:code>\n        <maml:remarks>\n          <maml:para>Creates a folder called subfolder in a folder called demofolder located in the root folder of the site. If the folder hierarchy does not exist, it will be created.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n      <maml:navigationLink>\n        <maml:linkText>Get-PnPFolder:</maml:linkText>\n        <maml:uri>https://github.com/OfficeDev/PnP-PowerShell/blob/master/Documentation/GetPnPFolder.md</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Restore-PnPRecycleBinItem</command:name>\n      <maml:description>\n        <maml:para>Restores the provided recycle bin item to its original location</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Restore</command:verb>\n      <command:noun>PnPRecycleBinItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Restore-PnPRecycleBinItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Id of the recycle bin item or the recycle bin item object itself to restore</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">RecycleBinItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be asked to restore the recycle bin item</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Restore-PnPRecycleBinItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>All</maml:name>\n          <maml:description>\n            <maml:para>If provided all items will be stored </maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be asked to restore the recycle bin item</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>All</maml:name>\n        <maml:description>\n          <maml:para>If provided all items will be stored </maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If provided, no confirmation will be asked to restore the recycle bin item</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Id of the recycle bin item or the recycle bin item object itself to restore</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">RecycleBinItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>RecycleBinItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Restore-PnpRecycleBinItem -Identity 72e4d749-d750-4989-b727-523d6726e442</dev:code>\n        <maml:remarks>\n          <maml:para>Restores the recycle bin item with Id 72e4d749-d750-4989-b727-523d6726e442 to its original location</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPRecycleBinItems | ? FileLeafName -like \"*.docx\" | Restore-PnpRecycleBinItem</dev:code>\n        <maml:remarks>\n          <maml:para>Restores all the items in the first and second stage recycle bins to their original location of which the filename ends with the .docx extension</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Restore-PnPTenantRecycleBinItem</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRestores a site collection from the tenant scoped recycle bin</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Restore</command:verb>\n      <command:noun>PnPTenantRecycleBinItem</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>The Reset-PnPTenantRecycleBinItem cmdlet allows a site collection that has been deleted and still exists in the tenant recycle bin to be restored to its original location.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Restore-PnPTenantRecycleBinItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Url of the site collection to restore from the tenant recycle bin</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Wait</maml:name>\n          <maml:description>\n            <maml:para>If provided, the PowerShell execution will halt until the site restore process has completed</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>If provided, no confirmation will be asked to restore the site collection from the tenant recycle bin</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>If provided, no confirmation will be asked to restore the site collection from the tenant recycle bin</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>Url of the site collection to restore from the tenant recycle bin</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Wait</maml:name>\n        <maml:description>\n          <maml:para>If provided, the PowerShell execution will halt until the site restore process has completed</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Reset-PnPTenantRecycleBinItem -Url https://tenant.sharepoint.com/sites/contoso</dev:code>\n        <maml:remarks>\n          <maml:para>This will restore the deleted site collection with the url 'https://tenant.sharepoint.com/sites/contoso' to its original location</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Reset-PnPTenantRecycleBinItem -Url https://tenant.sharepoint.com/sites/contoso -Wait</dev:code>\n        <maml:remarks>\n          <maml:para>This will restore the deleted site collection with the url 'https://tenant.sharepoint.com/sites/contoso' to its original location and will wait with executing further PowerShell commands until the site collection restore has completed</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Resume-PnPWorkflowInstance</command:name>\n      <maml:description>\n        <maml:para>Resume a workflow</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Resume</command:verb>\n      <command:noun>PnPWorkflowInstance</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Resumes a previously stopped workflow instance</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Resume-PnPWorkflowInstance</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The instance to resume</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WorkflowInstancePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The instance to resume</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WorkflowInstancePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WorkflowInstancePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Resume-PnPWorkflowInstance -identity $wfInstance</dev:code>\n        <maml:remarks>\n          <maml:para>Resumes the workflow instance, this can be the Guid of the instance or the instance itself.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Revoke-PnPSiteDesignRights</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nRevokes the specified principals rights to use the site design.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Revoke</command:verb>\n      <command:noun>PnPSiteDesignRights</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Revoke-PnPSiteDesignRights</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Principals</maml:name>\n          <maml:description>\n            <maml:para>One or more principals to revoke.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The site design to use.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The site design to use.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteDesignPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Principals</maml:name>\n        <maml:description>\n          <maml:para>One or more principals to revoke.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Revoke-PnPSiteDesignRights -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd -Principals \"myuser@mydomain.com\",\"myotheruser@mydomain.com\"</dev:code>\n        <maml:remarks>\n          <maml:para>Revokes rights to the specified principals on the site design specified</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPSiteDesign -Identity 5c73382d-9643-4aa0-9160-d0cba35e40fd | Revoke-PnPSiteDesignRights -Principals \"myuser@mydomain.com\",\"myotheruser@mydomain.com\"</dev:code>\n        <maml:remarks>\n          <maml:para>Revokes rights to the specified principals on the site design specified</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Save-PnPProvisioningTemplate</command:name>\n      <maml:description>\n        <maml:para>Saves a PnP file to the file systems</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Save</command:verb>\n      <command:noun>PnPProvisioningTemplate</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Save-PnPProvisioningTemplate</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InputInstance</maml:name>\n          <maml:description>\n            <maml:para>Allows you to provide an in-memory instance of the ProvisioningTemplate type of the PnP Core Component. When using this parameter, the -Out parameter refers to the path for saving the template and storing any supporting file for the template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ProvisioningTemplate</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Out</maml:name>\n          <maml:description>\n            <maml:para>Filename to write to, optionally including full path.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify the ITemplateProviderExtension to execute while saving a template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifying the Force parameter will skip the confirmation question.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>InputInstance</maml:name>\n        <maml:description>\n          <maml:para>Allows you to provide an in-memory instance of the ProvisioningTemplate type of the PnP Core Component. When using this parameter, the -Out parameter refers to the path for saving the template and storing any supporting file for the template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ProvisioningTemplate</command:parameterValue>\n        <dev:type>\n          <maml:name>ProvisioningTemplate</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Out</maml:name>\n        <maml:description>\n          <maml:para>Filename to write to, optionally including full path.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateProviderExtensions</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify the ITemplateProviderExtension to execute while saving a template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ITemplateProviderExtension[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ITemplateProviderExtension[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Save-PnPProvisioningTemplate -InputInstance $template -Out .\\template.pnp</dev:code>\n        <maml:remarks>\n          <maml:para>Saves a PnP file to the file systems</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Send-PnPMail</command:name>\n      <maml:description>\n        <maml:para>Sends an email using the Office 365 SMTP Service or SharePoint, depending on the parameters specified. See detailed help for more information.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Send</command:verb>\n      <command:noun>PnPMail</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Send-PnPMail</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>To</maml:name>\n          <maml:description>\n            <maml:para>List of recipients</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Subject</maml:name>\n          <maml:description>\n            <maml:para>Subject of the email</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Body</maml:name>\n          <maml:description>\n            <maml:para>Body of the email</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Server</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>From</maml:name>\n          <maml:description>\n            <maml:para>If using from address, you also have to provide a password</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Password</maml:name>\n          <maml:description>\n            <maml:para>If using a password, you also have to provide the associated from address</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Cc</maml:name>\n          <maml:description>\n            <maml:para>List of recipients on CC</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Body</maml:name>\n        <maml:description>\n          <maml:para>Body of the email</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Cc</maml:name>\n        <maml:description>\n          <maml:para>List of recipients on CC</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>From</maml:name>\n        <maml:description>\n          <maml:para>If using from address, you also have to provide a password</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Password</maml:name>\n        <maml:description>\n          <maml:para>If using a password, you also have to provide the associated from address</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Server</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Subject</maml:name>\n        <maml:description>\n          <maml:para>Subject of the email</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>To</maml:name>\n        <maml:description>\n          <maml:para>List of recipients</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Send-PnPMail -To address@tenant.sharepointonline.com -Subject test -Body test</dev:code>\n        <maml:remarks>\n          <maml:para>Sends an e-mail using the SharePoint SendEmail method using the current context. E-mail is sent from the system account and can only be sent to accounts in the same tenant</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Send-PnPMail -To address@contoso.com -Subject test -Body test -From me@tenant.onmicrosoft.com -Password xyz</dev:code>\n        <maml:remarks>\n          <maml:para>Sends an e-mail via Office 365 SMTP and requires a from address and password. E-mail is sent from the from user and can be sent to both internal and external addresses.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Send-PnPMail -To address@contoso.com -Subject test -Body test -From me@server.net -Password xyz -Server yoursmtp.server.net</dev:code>\n        <maml:remarks>\n          <maml:para>Sends an e-mail via a custom SMTP server and requires a from address and password. E-mail is sent from the from user.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPAppSideLoading</command:name>\n      <maml:description>\n        <maml:para>Enables the App SideLoading Feature on a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPAppSideLoading</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPAppSideLoading</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>On</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPAppSideLoading</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Off</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Off</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>On</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPAppSideLoading -On</dev:code>\n        <maml:remarks>\n          <maml:para>This will turn on App side loading</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPAppSideLoading -Off</dev:code>\n        <maml:remarks>\n          <maml:para>This will turn off App side loading</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPAuditing</command:name>\n      <maml:description>\n        <maml:para>Set Auditing setting for a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPAuditing</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPAuditing</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetentionTime</maml:name>\n          <maml:description>\n            <maml:para>Set the retention time</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TrimAuditLog</maml:name>\n          <maml:description>\n            <maml:para>Trim the audit log</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EditItems</maml:name>\n          <maml:description>\n            <maml:para>Audit editing items</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CheckOutCheckInItems</maml:name>\n          <maml:description>\n            <maml:para>Audit checking out or checking in items</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MoveCopyItems</maml:name>\n          <maml:description>\n            <maml:para>Audit moving or copying items to another location in the site.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DeleteRestoreItems</maml:name>\n          <maml:description>\n            <maml:para>Audit deleting or restoring items</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EditContentTypesColumns</maml:name>\n          <maml:description>\n            <maml:para>Audit editing content types and columns</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SearchContent</maml:name>\n          <maml:description>\n            <maml:para>Audit searching site content</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EditUsersPermissions</maml:name>\n          <maml:description>\n            <maml:para>Audit editing users and permissions</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPAuditing</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>EnableAll</maml:name>\n          <maml:description>\n            <maml:para>Enable all audit flags</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RetentionTime</maml:name>\n          <maml:description>\n            <maml:para>Set the retention time</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TrimAuditLog</maml:name>\n          <maml:description>\n            <maml:para>Trim the audit log</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPAuditing</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DisableAll</maml:name>\n          <maml:description>\n            <maml:para>Disable all audit flags</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CheckOutCheckInItems</maml:name>\n        <maml:description>\n          <maml:para>Audit checking out or checking in items</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DeleteRestoreItems</maml:name>\n        <maml:description>\n          <maml:para>Audit deleting or restoring items</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DisableAll</maml:name>\n        <maml:description>\n          <maml:para>Disable all audit flags</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EditContentTypesColumns</maml:name>\n        <maml:description>\n          <maml:para>Audit editing content types and columns</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EditItems</maml:name>\n        <maml:description>\n          <maml:para>Audit editing items</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EditUsersPermissions</maml:name>\n        <maml:description>\n          <maml:para>Audit editing users and permissions</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>EnableAll</maml:name>\n        <maml:description>\n          <maml:para>Enable all audit flags</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MoveCopyItems</maml:name>\n        <maml:description>\n          <maml:para>Audit moving or copying items to another location in the site.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RetentionTime</maml:name>\n        <maml:description>\n          <maml:para>Set the retention time</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SearchContent</maml:name>\n        <maml:description>\n          <maml:para>Audit searching site content</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TrimAuditLog</maml:name>\n        <maml:description>\n          <maml:para>Trim the audit log</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPAuditing -EnableAll</dev:code>\n        <maml:remarks>\n          <maml:para>Enables all auditing settings for the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPAuditing -DisableAll</dev:code>\n        <maml:remarks>\n          <maml:para>Disables all auditing settings for the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPAuditing -RetentionTime 7</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the audit log trimming to 7 days, this also enables the automatic trimming of the audit log</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPAuditing -TrimAuditLog</dev:code>\n        <maml:remarks>\n          <maml:para>Enables the automatic trimming of the audit log</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPAuditing -RetentionTime 7 -CheckOutCheckInItems -MoveCopyItems -SearchContent</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the audit log trimming to 7 days, this also enables the automatic trimming of the audit log.\n\nDo auditing for:\n- Checking out or checking in items\n- Moving or copying items to another location in the site\n- Searching site content</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPAvailablePageLayouts</command:name>\n      <maml:description>\n        <maml:para>Sets the available page layouts for the current site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPAvailablePageLayouts</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPAvailablePageLayouts</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PageLayouts</maml:name>\n          <maml:description>\n            <maml:para>An array of page layout files to set as available page layouts for the site.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPAvailablePageLayouts</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>AllowAllPageLayouts</maml:name>\n          <maml:description>\n            <maml:para>An array of page layout files to set as available page layouts for the site.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPAvailablePageLayouts</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InheritPageLayouts</maml:name>\n          <maml:description>\n            <maml:para>Set the available page layouts to inherit from the parent site.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>AllowAllPageLayouts</maml:name>\n        <maml:description>\n          <maml:para>An array of page layout files to set as available page layouts for the site.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>InheritPageLayouts</maml:name>\n        <maml:description>\n          <maml:para>Set the available page layouts to inherit from the parent site.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PageLayouts</maml:name>\n        <maml:description>\n          <maml:para>An array of page layout files to set as available page layouts for the site.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPClientSidePage</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSets parameters of a Client-Side Page</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPClientSidePage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPClientSidePage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The name/identity of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Name</maml:name>\n          <maml:description>\n            <maml:para>Sets the name of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Sets the title of the page.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LayoutType</maml:name>\n          <maml:description>\n            <maml:para>Sets the layout type of the page. (Default = Article)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePageLayoutType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PromoteAs</maml:name>\n          <maml:description>\n            <maml:para>Allows to promote the page for a specific purpose (HomePage | NewsPage)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePromoteType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CommentsEnabled</maml:name>\n          <maml:description>\n            <maml:para>Enables or Disables the comments on the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Publish</maml:name>\n          <maml:description>\n            <maml:para>Publishes the page once it is saved.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CommentsEnabled</maml:name>\n        <maml:description>\n          <maml:para>Enables or Disables the comments on the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The name/identity of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>LayoutType</maml:name>\n        <maml:description>\n          <maml:para>Sets the layout type of the page. (Default = Article)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ClientSidePageLayoutType</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePageLayoutType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Name</maml:name>\n        <maml:description>\n          <maml:para>Sets the name of the page.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PromoteAs</maml:name>\n        <maml:description>\n          <maml:para>Allows to promote the page for a specific purpose (HomePage | NewsPage)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ClientSidePagePromoteType</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePromoteType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Publish</maml:name>\n        <maml:description>\n          <maml:para>Publishes the page once it is saved.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>Sets the title of the page.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPClientSidePage -Identity \"MyPage\" -LayoutType Home -Title \"My Page\"</dev:code>\n        <maml:remarks>\n          <maml:para>Updates the properties of the Client-Side page named 'MyPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPClientSidePage -Identity \"MyPage\" -CommentsEnabled</dev:code>\n        <maml:remarks>\n          <maml:para>Enables the comments on the Client-Side page named 'MyPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPClientSidePage -Identity \"MyPage\" -CommentsEnabled:$false</dev:code>\n        <maml:remarks>\n          <maml:para>Disables the comments on the Client-Side page named 'MyPage'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPClientSideText</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSet Client-Side Text Component properties</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPClientSideText</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets the rendered text in existing client side text component</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPClientSideText</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InstanceId</maml:name>\n          <maml:description>\n            <maml:para>The instance id of the text component</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Text</maml:name>\n          <maml:description>\n            <maml:para>Text to set</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>InstanceId</maml:name>\n        <maml:description>\n          <maml:para>The instance id of the text component</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Page</maml:name>\n        <maml:description>\n          <maml:para>The name of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Text</maml:name>\n        <maml:description>\n          <maml:para>Text to set</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSetClientSideText -Page Home -InstanceId a2875399-d6ff-43a0-96da-be6ae5875f82 -Text \"MyText\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the text of the client side text component.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPClientSideWebPart</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSet Client-Side Web Part properties</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPClientSideWebPart</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets specific client side webpart properties. Notice that the title parameter will only set the -internal- title of webpart. The title which is shown in the UI will, if possible, have to be set using the PropertiesJson parameter. Use Get-PnPClientSideComponent to retrieve the instance id and properties of a webpart.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPClientSideWebPart</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The identity of the webpart. This can be the webpart instance id or the title of a webpart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSideWebPartPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Page</maml:name>\n          <maml:description>\n            <maml:para>The name of the page</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Sets the internal title of the webpart. Notice that this will NOT set a visible title.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PropertiesJson</maml:name>\n          <maml:description>\n            <maml:para>Sets the properties as a JSON string.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The identity of the webpart. This can be the webpart instance id or the title of a webpart</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSideWebPartPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSideWebPartPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Page</maml:name>\n        <maml:description>\n          <maml:para>The name of the page</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientSidePagePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientSidePagePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PropertiesJson</maml:name>\n        <maml:description>\n          <maml:para>Sets the properties as a JSON string.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>Sets the internal title of the webpart. Notice that this will NOT set a visible title.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPClientSideWebPart -Page Home -InstanceId a2875399-d6ff-43a0-96da-be6ae5875f82 -PropertiesJson $myproperties</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the properties of the client side webpart given in the $myproperties variable.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPContext</command:name>\n      <maml:description>\n        <maml:para>Set the ClientContext</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPContext</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets the Client Context to use by the cmdlets, which allows easy context switching. See examples for details.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPContext</maml:name>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>Context</maml:name>\n          <maml:description>\n            <maml:para>The ClientContext to set</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClientContext</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>Context</maml:name>\n        <maml:description>\n          <maml:para>The ClientContext to set</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClientContext</command:parameterValue>\n        <dev:type>\n          <maml:name>ClientContext</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Url $siteAurl -Credentials $credentials\nPS:&gt; $ctx = Get-PnPContext\nPS:&gt; Get-PnPList # returns the lists from site specified with $siteAurl\nPS:&gt; Connect-PnPOnline -Url $siteBurl -Credentials $credentials\nPS:&gt; Get-PnPList # returns the lists from the site specified with $siteBurl\nPS:&gt; Set-PnPContext -Context $ctx # switch back to site A\nPS:&gt; Get-PnPList # returns the lists from site A</dev:code>\n        <maml:remarks>\n          <maml:para />\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPDefaultColumnValues</command:name>\n      <maml:description>\n        <maml:para>Sets default column values for a document library</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPDefaultColumnValues</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets default column values for a document library, per folder, or for the root folder if the folder parameter has not been specified. Supports both text and taxonomy fields.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPDefaultColumnValues</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Field</maml:name>\n          <maml:description>\n            <maml:para>The internal name, id or a reference to a field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Value</maml:name>\n          <maml:description>\n            <maml:para>A list of values. In case of a text field the values will be concatenated, separated by a semi-colon. In case of a taxonomy field multiple values will added. In case of people field multiple values will be added.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Name or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>A library relative folder path, if not specified it will set the default column values on the root folder of the library ('/')</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Field</maml:name>\n        <maml:description>\n          <maml:para>The internal name, id or a reference to a field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FieldPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>A library relative folder path, if not specified it will set the default column values on the root folder of the library ('/')</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Name or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Value</maml:name>\n        <maml:description>\n          <maml:para>A list of values. In case of a text field the values will be concatenated, separated by a semi-colon. In case of a taxonomy field multiple values will added. In case of people field multiple values will be added.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDefaultColumnValues -List Documents -Field TaxKeyword -Value \"Company|Locations|Stockholm\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets a default value for the enterprise keywords field on a library to a term called \"Stockholm\", located in the \"Locations\" term set, which is part of the \"Company\" term group</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDefaultColumnValues -List Documents -Field TaxKeyword -Value \"15c4c4e4-4b67-4894-a1d8-de5ff811c791\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets a default value for the enterprise keywords field on a library to a term with the id \"15c4c4e4-4b67-4894-a1d8-de5ff811c791\". You need to ensure the term is valid for the field.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDefaultColumnValues -List Documents -Field MyTextField -Value \"DefaultValue\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets a default value for the MyTextField text field on a library to a value of \"DefaultValue\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDefaultColumnValues -List Documents -Field MyPeopleField -Value \"1;#Foo Bar\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets a default value for the MyPeopleField people field on a library to a value of \"Foo Bar\" using the id from the user information list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $user = New-PnPUser -LoginName foobar@contoso.com\nPS:&gt; Set-PnPDefaultColumnValues -List Documents -Field MyPeopleField -Value \"$($user.Id);#$($user.LoginName)\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets a default value for the MyPeopleField people field on a library to a value of \"Foo Bar\" using the id from the user information list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $user1 = New-PnPUser -LoginName user1@contoso.com\nPS:&gt; $user2 = New-PnPUser -LoginName user2@contoso.com\nPS:&gt; Set-PnPDefaultColumnValues -List Documents -Field MyMultiPeopleField -Value \"$($user1.Id);#$($user1.LoginName)\",\"$($user2.Id);#$($user2.LoginName)\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets a default value for the MyMultiPeopleField people field on a library to a value of \"User 1\" and \"User 2\" using the id from the user information list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPDefaultContentTypeToList</command:name>\n      <maml:description>\n        <maml:para>Sets the default content type for a list</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPDefaultContentTypeToList</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPDefaultContentTypeToList</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The name of a list, an ID or the actual list object to update</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>The content type object that needs to be set as the default content type on the list. Content Type needs to be present on the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>The content type object that needs to be set as the default content type on the list. Content Type needs to be present on the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The name of a list, an ID or the actual list object to update</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDefaultContentTypeToList -List \"Project Documents\" -ContentType \"Project\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will set the Project content type (which has already been added to a list) as the default content type</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPDefaultPageLayout</command:name>\n      <maml:description>\n        <maml:para>Sets a specific page layout to be the default page layout for a publishing site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPDefaultPageLayout</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPDefaultPageLayout</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Title of the page layout</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPDefaultPageLayout</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InheritFromParentSite</maml:name>\n          <maml:description>\n            <maml:para>Set the default page layout to be inherited from the parent site.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>InheritFromParentSite</maml:name>\n        <maml:description>\n          <maml:para>Set the default page layout to be inherited from the parent site.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>Title of the page layout</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDefaultPageLayout -Title projectpage.aspx</dev:code>\n        <maml:remarks>\n          <maml:para>Sets projectpage.aspx to be the default page layout for the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDefaultPageLayout -Title test/testpage.aspx</dev:code>\n        <maml:remarks>\n          <maml:para>Sets a page layout in a folder in the Master Page &amp; Page Layout gallery, such as _catalog/masterpage/test/testpage.aspx, to be the default page layout for the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDefaultPageLayout -InheritFromParentSite</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the default page layout to be inherited from the parent site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPField</command:name>\n      <maml:description>\n        <maml:para>Changes one or more properties of a field in a specific list or for the whole web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPField</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPField</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Values</maml:name>\n          <maml:description>\n            <maml:para>Hashtable of properties to update on the field. Use the syntax @{property1=\"value\";property2=\"value\"}.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The field object, internal field name (case sensitive) or field id to update</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object, name or id where to update the field. If omited the field will be updated on the web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UpdateExistingLists</maml:name>\n          <maml:description>\n            <maml:para>If provided, the field will be updated on existing lists that use it as well. If not provided or set to $false, existing lists using the field will remain unchanged but new lists will get the updated field.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The field object, internal field name (case sensitive) or field id to update</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FieldPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object, name or id where to update the field. If omited the field will be updated on the web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UpdateExistingLists</maml:name>\n        <maml:description>\n          <maml:para>If provided, the field will be updated on existing lists that use it as well. If not provided or set to $false, existing lists using the field will remain unchanged but new lists will get the updated field.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Values</maml:name>\n        <maml:description>\n          <maml:para>Hashtable of properties to update on the field. Use the syntax @{property1=\"value\";property2=\"value\"}.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Field</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPField -Identity AssignedTo -Values @{JSLink=\"customrendering.js\";Group=\"My fields\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Updates the AssignedTo field on the current web to use customrendering.js for the JSLink and sets the group name the field is categorized in to \"My Fields\". Lists that are already using the AssignedTo field will not be updated.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPField -Identity AssignedTo -Values @{JSLink=\"customrendering.js\";Group=\"My fields\"} -UpdateExistingLists</dev:code>\n        <maml:remarks>\n          <maml:para>Updates the AssignedTo field on the current web to use customrendering.js for the JSLink and sets the group name the field is categorized in to \"My Fields\". Lists that are already using the AssignedTo field will also be updated.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPField -List \"Tasks\" -Identity \"AssignedTo\" -Values @{JSLink=\"customrendering.js\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Updates the AssignedTo field on the Tasks list to use customrendering.js for the JSLink</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPDocumentSetField</command:name>\n      <maml:description>\n        <maml:para>Sets a site column from the available content types to a document set</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPDocumentSetField</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPDocumentSetField</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>DocumentSet</maml:name>\n          <maml:description>\n            <maml:para>The document set in which to set the field. Either specify a name, a document set template object, an id, or a content type object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DocumentSetPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Field</maml:name>\n          <maml:description>\n            <maml:para>The field to set. The field needs to be available in one of the available content types. Either specify a name, an id or a field object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SetSharedField</maml:name>\n          <maml:description>\n            <maml:para>Set the field as a Shared Field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SetWelcomePageField</maml:name>\n          <maml:description>\n            <maml:para>Set the field as a Welcome Page field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveSharedField</maml:name>\n          <maml:description>\n            <maml:para>Removes the field as a Shared Field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveWelcomePageField</maml:name>\n          <maml:description>\n            <maml:para>Removes the field as a Welcome Page Field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>DocumentSet</maml:name>\n        <maml:description>\n          <maml:para>The document set in which to set the field. Either specify a name, a document set template object, an id, or a content type object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">DocumentSetPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>DocumentSetPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Field</maml:name>\n        <maml:description>\n          <maml:para>The field to set. The field needs to be available in one of the available content types. Either specify a name, an id or a field object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">FieldPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>FieldPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RemoveSharedField</maml:name>\n        <maml:description>\n          <maml:para>Removes the field as a Shared Field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RemoveWelcomePageField</maml:name>\n        <maml:description>\n          <maml:para>Removes the field as a Welcome Page Field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SetSharedField</maml:name>\n        <maml:description>\n          <maml:para>Set the field as a Shared Field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SetWelcomePageField</maml:name>\n        <maml:description>\n          <maml:para>Set the field as a Welcome Page field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDocumentSetField -Field \"Test Field\" -DocumentSet \"Test Document Set\" -SetSharedField -SetWelcomePageField</dev:code>\n        <maml:remarks>\n          <maml:para>This will set the field, available in one of the available content types, as a Shared Field and as a Welcome Page Field.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPDocumentSetField -Field \"Test Field\" -DocumentSet \"Test Document Set\" -RemoveSharedField -RemoveWelcomePageField</dev:code>\n        <maml:remarks>\n          <maml:para>This will remove the field, available in one of the available content types, as a Shared Field and as a Welcome Page Field.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPFileCheckedIn</command:name>\n      <maml:description>\n        <maml:para>Checks in a file</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPFileCheckedIn</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPFileCheckedIn</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The server relative url of the file to check in</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CheckinType</maml:name>\n          <maml:description>\n            <maml:para>The check in type to use. Defaults to Major</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CheckinType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Comment</maml:name>\n          <maml:description>\n            <maml:para>The check in comment</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Approve</maml:name>\n          <maml:description>\n            <maml:para>Approve file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Approve</maml:name>\n        <maml:description>\n          <maml:para>Approve file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CheckinType</maml:name>\n        <maml:description>\n          <maml:para>The check in type to use. Defaults to Major</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">CheckinType</command:parameterValue>\n        <dev:type>\n          <maml:name>CheckinType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Comment</maml:name>\n        <maml:description>\n          <maml:para>The check in comment</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The server relative url of the file to check in</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Set-PnPFileCheckedIn -Url \"/Documents/Contract.docx\"</dev:code>\n        <maml:remarks>\n          <maml:para>Checks in the file \"Contract.docx\" in the \"Documents\" library</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Set-PnPFileCheckedIn -Url \"/Documents/Contract.docx\" -CheckinType MinorCheckin -Comment \"Smaller changes\"</dev:code>\n        <maml:remarks>\n          <maml:para>Checks in the file \"Contract.docx\" in the \"Documents\" library as a minor version and adds the check in comment \"Smaller changes\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPFileCheckedOut</command:name>\n      <maml:description>\n        <maml:para>Checks out a file</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPFileCheckedOut</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPFileCheckedOut</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The server relative url of the file to check out</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The server relative url of the file to check out</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt;Set-PnPFileCheckedOut -Url \"/sites/testsite/subsite/Documents/Contract.docx\"</dev:code>\n        <maml:remarks>\n          <maml:para>Checks out the file \"Contract.docx\" in the \"Documents\" library.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPGroup</command:name>\n      <maml:description>\n        <maml:para>Updates a group</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>A group object, an ID or a name of a group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SetAssociatedGroup</maml:name>\n          <maml:description>\n            <maml:para>One of the associated group types (Visitors, Members, Owners</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AssociatedGroupType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>Name of the permission set to add to this SharePoint group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>Name of the permission set to remove from this SharePoint group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title for the group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Owner</maml:name>\n          <maml:description>\n            <maml:para>The owner for the group, which can be a user or another group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The description for the group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowRequestToJoinLeave</maml:name>\n          <maml:description>\n            <maml:para>A switch parameter that specifies whether to allow users to request membership in the group and to allow users to request to leave the group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AutoAcceptRequestToJoinLeave</maml:name>\n          <maml:description>\n            <maml:para>A switch parameter that specifies whether users are automatically added or removed when they make a request</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowMembersEditMembership</maml:name>\n          <maml:description>\n            <maml:para>A switch parameter that specifies whether group members can modify membership in the group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OnlyAllowMembersViewMembership</maml:name>\n          <maml:description>\n            <maml:para>A switch parameter that specifies whether only group members are allowed to view the list of members in the group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequestToJoinEmail</maml:name>\n          <maml:description>\n            <maml:para>The e-mail address to which membership requests are sent</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AddRole</maml:name>\n        <maml:description>\n          <maml:para>Name of the permission set to add to this SharePoint group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowMembersEditMembership</maml:name>\n        <maml:description>\n          <maml:para>A switch parameter that specifies whether group members can modify membership in the group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowRequestToJoinLeave</maml:name>\n        <maml:description>\n          <maml:para>A switch parameter that specifies whether to allow users to request membership in the group and to allow users to request to leave the group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AutoAcceptRequestToJoinLeave</maml:name>\n        <maml:description>\n          <maml:para>A switch parameter that specifies whether users are automatically added or removed when they make a request</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The description for the group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>A group object, an ID or a name of a group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OnlyAllowMembersViewMembership</maml:name>\n        <maml:description>\n          <maml:para>A switch parameter that specifies whether only group members are allowed to view the list of members in the group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Owner</maml:name>\n        <maml:description>\n          <maml:para>The owner for the group, which can be a user or another group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RemoveRole</maml:name>\n        <maml:description>\n          <maml:para>Name of the permission set to remove from this SharePoint group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RequestToJoinEmail</maml:name>\n        <maml:description>\n          <maml:para>The e-mail address to which membership requests are sent</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SetAssociatedGroup</maml:name>\n        <maml:description>\n          <maml:para>One of the associated group types (Visitors, Members, Owners</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">AssociatedGroupType</command:parameterValue>\n        <dev:type>\n          <maml:name>AssociatedGroupType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title for the group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPGroup -Identity 'My Site Members' -SetAssociatedGroup Members</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the SharePoint group with the name 'My Site Members' as the associated members group</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPGroup -Identity 'My Site Members' -Owner 'site owners'</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the SharePoint group with the name 'site owners' as the owner of the SharePoint group with the name 'My Site Members'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPGroupPermissions</command:name>\n      <maml:description>\n        <maml:para>Adds and/or removes permissions of a specific SharePoint group</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPGroupPermissions</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPGroupPermissions</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Get the permissions of a specific group by name</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to apply the command to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>Name of the permission set to add to this SharePoint group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>Name of the permission set to remove from this SharePoint group</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AddRole</maml:name>\n        <maml:description>\n          <maml:para>Name of the permission set to add to this SharePoint group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Get the permissions of a specific group by name</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list to apply the command to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RemoveRole</maml:name>\n        <maml:description>\n          <maml:para>Name of the permission set to remove from this SharePoint group</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPGroupPermissions -Identity 'My Site Members' -AddRole Contribute</dev:code>\n        <maml:remarks>\n          <maml:para>Adds the 'Contribute' permission to the SharePoint group with the name 'My Site Members'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPGroupPermissions -Identity 'My Site Members' -RemoveRole 'Full Control' -AddRole 'Read'</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the 'Full Control' from and adds the 'Contribute' permissions to the SharePoint group with the name 'My Site Members'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPGroupPermissions -Identity 'My Site Members' -AddRole @('Contribute', 'Design')</dev:code>\n        <maml:remarks>\n          <maml:para>Adds the 'Contribute' and 'Design' permissions to the SharePoint group with the name 'My Site Members'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPGroupPermissions -Identity 'My Site Members' -RemoveRole @('Contribute', 'Design')</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the 'Contribute' and 'Design' permissions from the SharePoint group with the name 'My Site Members'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPGroupPermissions -Identity 'My Site Members' -List 'MyList' -RemoveRole @('Contribute')</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the 'Contribute' permissions from the list 'MyList' for the group with the name 'My Site Members'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPHideDefaultThemes</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nDefines if the default / OOTB themes should be visible to users or not.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPHideDefaultThemes</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Use this cmdlet to hide or show the default themes to users\n\nYou must be a SharePoint Online global administrator to run the cmdlet.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPHideDefaultThemes</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>HideDefaultThemes</maml:name>\n          <maml:description>\n            <maml:para>Defines if the default themes should be visible or hidden</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>HideDefaultThemes</maml:name>\n        <maml:description>\n          <maml:para>Defines if the default themes should be visible or hidden</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPHideDefaultThemes -HideDefaultThemes $true</dev:code>\n        <maml:remarks>\n          <maml:para>This example hides the default themes</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPHideDefaultThemes -HideDefaultThemes $false</dev:code>\n        <maml:remarks>\n          <maml:para>This example shows the default themes</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPHomePage</command:name>\n      <maml:description>\n        <maml:para>Sets the home page of the current web.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPHomePage</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPHomePage</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>RootFolderRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>The root folder relative url of the homepage, e.g. 'sitepages/home.aspx'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>RootFolderRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>The root folder relative url of the homepage, e.g. 'sitepages/home.aspx'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPHomePage -RootFolderRelativeUrl SitePages/Home.aspx</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the home page to the home.aspx file which resides in the SitePages library</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPHubSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSets hubsite properties</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPHubSite</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPHubSite</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPHubSite -Identity https://tenant.sharepoint.com/sites/myhubsite -Title \"My New Title\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the title of the hubsite</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPIndexedProperties</command:name>\n      <maml:description>\n        <maml:para>Marks values of the propertybag to be indexed by search. Notice that this will overwrite the existing flags, i.e. only the properties you define with the cmdlet will be indexed.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPIndexedProperties</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPIndexedProperties</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Keys</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Keys</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPInPlaceRecordsManagement</command:name>\n      <maml:description>\n        <maml:para>Activates or deactivates in the place records management feature.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPInPlaceRecordsManagement</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPInPlaceRecordsManagement</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Enabled</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Enabled</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPInPlaceRecordsManagement -Enabled $true</dev:code>\n        <maml:remarks>\n          <maml:para>Activates In Place Records Management</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPInPlaceRecordsManagement -Enabled $false</dev:code>\n        <maml:remarks>\n          <maml:para>Deactivates In Place Records Management</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPList</command:name>\n      <maml:description>\n        <maml:para>Updates list settings</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPList</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPList</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableContentTypes</maml:name>\n          <maml:description>\n            <maml:para>Set to $true to enable content types, set to $false to disable content types</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>BreakRoleInheritance</maml:name>\n          <maml:description>\n            <maml:para>If used the security inheritance is broken for this list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CopyRoleAssignments</maml:name>\n          <maml:description>\n            <maml:para>If used the roles are copied from the parent web</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClearSubscopes</maml:name>\n          <maml:description>\n            <maml:para>If used the unique permissions are cleared from child objects and they can inherit role assignments from this object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Hidden</maml:name>\n          <maml:description>\n            <maml:para>Hide the list from the SharePoint UI. Set to $true to hide, $false to show.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableAttachments</maml:name>\n          <maml:description>\n            <maml:para>Enable or disable attachments. Set to $true to enable, $false to disable.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableVersioning</maml:name>\n          <maml:description>\n            <maml:para>Enable or disable versioning. Set to $true to enable, $false to disable.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableMinorVersions</maml:name>\n          <maml:description>\n            <maml:para>Enable or disable minor versions versioning. Set to $true to enable, $false to disable.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MajorVersions</maml:name>\n          <maml:description>\n            <maml:para>Maximum major versions to keep</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinorVersions</maml:name>\n          <maml:description>\n            <maml:para>Maximum minor versions to keep</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UInt32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableModeration</maml:name>\n          <maml:description>\n            <maml:para>Enable or disable whether content approval is enabled for the list. Set to $true to enable, $false to disable.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>BreakRoleInheritance</maml:name>\n        <maml:description>\n          <maml:para>If used the security inheritance is broken for this list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ClearSubscopes</maml:name>\n        <maml:description>\n          <maml:para>If used the unique permissions are cleared from child objects and they can inherit role assignments from this object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CopyRoleAssignments</maml:name>\n        <maml:description>\n          <maml:para>If used the roles are copied from the parent web</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableAttachments</maml:name>\n        <maml:description>\n          <maml:para>Enable or disable attachments. Set to $true to enable, $false to disable.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableContentTypes</maml:name>\n        <maml:description>\n          <maml:para>Set to $true to enable content types, set to $false to disable content types</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableMinorVersions</maml:name>\n        <maml:description>\n          <maml:para>Enable or disable minor versions versioning. Set to $true to enable, $false to disable.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableModeration</maml:name>\n        <maml:description>\n          <maml:para>Enable or disable whether content approval is enabled for the list. Set to $true to enable, $false to disable.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableVersioning</maml:name>\n        <maml:description>\n          <maml:para>Enable or disable versioning. Set to $true to enable, $false to disable.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Hidden</maml:name>\n        <maml:description>\n          <maml:para>Hide the list from the SharePoint UI. Set to $true to hide, $false to show.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MajorVersions</maml:name>\n        <maml:description>\n          <maml:para>Maximum major versions to keep</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MinorVersions</maml:name>\n        <maml:description>\n          <maml:para>Maximum minor versions to keep</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">UInt32</command:parameterValue>\n        <dev:type>\n          <maml:name>UInt32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Set-PnPList -Identity \"Demo List\" -EnableContentTypes $true</dev:code>\n        <maml:remarks>\n          <maml:para>Switches the Enable Content Type switch on the list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Set-PnPList -Identity \"Demo List\" -Hidden $true</dev:code>\n        <maml:remarks>\n          <maml:para>Hides the list from the SharePoint UI.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Set-PnPList -Identity \"Demo List\" -EnableVersioning $true</dev:code>\n        <maml:remarks>\n          <maml:para>Turns on major versions on a list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Set-PnPList -Identity \"Demo List\" -EnableVersioning $true -MajorVersions 20</dev:code>\n        <maml:remarks>\n          <maml:para>Turns on major versions on a list and sets the maximum number of Major Versions to keep to 20.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Set-PnPList -Identity \"Demo Library\" -EnableVersioning $true -EnableMinorVersions $true -MajorVersions 20 -MinorVersions 5</dev:code>\n        <maml:remarks>\n          <maml:para>Turns on major versions on a document library and sets the maximum number of Major versions to keep to 20 and sets the maximum of Minor versions to 5.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Set-PnPList -Identity \"Demo List\" -EnableAttachments $true</dev:code>\n        <maml:remarks>\n          <maml:para>Turns on attachments on a list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPListInformationRightsManagement</command:name>\n      <maml:description>\n        <maml:para>Get the site closure status of the site which has a site policy applied</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPListInformationRightsManagement</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPListInformationRightsManagement</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list to set Information Rights Management (IRM) settings for.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Enable</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether Information Rights Management (IRM) is enabled for the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableExpiration</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether Information Rights Management (IRM) expiration is enabled for the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableRejection</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether Information Rights Management (IRM) rejection is enabled for the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowPrint</maml:name>\n          <maml:description>\n            <maml:para>Sets a value indicating whether the viewer can print the downloaded document.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowScript</maml:name>\n          <maml:description>\n            <maml:para>Sets a value indicating whether the viewer can run a script on the downloaded document.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowWriteCopy</maml:name>\n          <maml:description>\n            <maml:para>Sets a value indicating whether the viewer can write on a copy of the downloaded document.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DisableDocumentBrowserView</maml:name>\n          <maml:description>\n            <maml:para>Sets a value indicating whether to block Office Web Application Companion applications (WACs) from showing this document.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DocumentAccessExpireDays</maml:name>\n          <maml:description>\n            <maml:para>Sets the number of days after which the downloaded document will expire.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DocumentLibraryProtectionExpireDate</maml:name>\n          <maml:description>\n            <maml:para>Sets the date after which the Information Rights Management (IRM) protection of this document library will stop.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DateTime</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableDocumentAccessExpire</maml:name>\n          <maml:description>\n            <maml:para>Sets a value indicating whether the downloaded document will expire.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableDocumentBrowserPublishingView</maml:name>\n          <maml:description>\n            <maml:para>Sets a value indicating whether to enable Office Web Application Companion applications (WACs) to publishing view.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableGroupProtection</maml:name>\n          <maml:description>\n            <maml:para>Sets a value indicating whether the permission of the downloaded document is applicable to a group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableLicenseCacheExpire</maml:name>\n          <maml:description>\n            <maml:para>Sets whether a user must verify their credentials after some interval.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LicenseCacheExpireDays</maml:name>\n          <maml:description>\n            <maml:para>Sets the number of days that the application that opens the document caches the IRM license. When these elapse, the application will connect to the IRM server to validate the license.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>GroupName</maml:name>\n          <maml:description>\n            <maml:para>Sets the group name (email address) that the permission is also applicable to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PolicyDescription</maml:name>\n          <maml:description>\n            <maml:para>Sets the permission policy description.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PolicyTitle</maml:name>\n          <maml:description>\n            <maml:para>Sets the permission policy title.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateId</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowPrint</maml:name>\n        <maml:description>\n          <maml:para>Sets a value indicating whether the viewer can print the downloaded document.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowScript</maml:name>\n        <maml:description>\n          <maml:para>Sets a value indicating whether the viewer can run a script on the downloaded document.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowWriteCopy</maml:name>\n        <maml:description>\n          <maml:para>Sets a value indicating whether the viewer can write on a copy of the downloaded document.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DisableDocumentBrowserView</maml:name>\n        <maml:description>\n          <maml:para>Sets a value indicating whether to block Office Web Application Companion applications (WACs) from showing this document.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DocumentAccessExpireDays</maml:name>\n        <maml:description>\n          <maml:para>Sets the number of days after which the downloaded document will expire.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DocumentLibraryProtectionExpireDate</maml:name>\n        <maml:description>\n          <maml:para>Sets the date after which the Information Rights Management (IRM) protection of this document library will stop.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">DateTime</command:parameterValue>\n        <dev:type>\n          <maml:name>DateTime</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Enable</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether Information Rights Management (IRM) is enabled for the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableDocumentAccessExpire</maml:name>\n        <maml:description>\n          <maml:para>Sets a value indicating whether the downloaded document will expire.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableDocumentBrowserPublishingView</maml:name>\n        <maml:description>\n          <maml:para>Sets a value indicating whether to enable Office Web Application Companion applications (WACs) to publishing view.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableExpiration</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether Information Rights Management (IRM) expiration is enabled for the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableGroupProtection</maml:name>\n        <maml:description>\n          <maml:para>Sets a value indicating whether the permission of the downloaded document is applicable to a group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableLicenseCacheExpire</maml:name>\n        <maml:description>\n          <maml:para>Sets whether a user must verify their credentials after some interval.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableRejection</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether Information Rights Management (IRM) rejection is enabled for the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>GroupName</maml:name>\n        <maml:description>\n          <maml:para>Sets the group name (email address) that the permission is also applicable to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>LicenseCacheExpireDays</maml:name>\n        <maml:description>\n          <maml:para>Sets the number of days that the application that opens the document caches the IRM license. When these elapse, the application will connect to the IRM server to validate the license.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list to set Information Rights Management (IRM) settings for.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PolicyDescription</maml:name>\n        <maml:description>\n          <maml:para>Sets the permission policy description.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PolicyTitle</maml:name>\n        <maml:description>\n          <maml:para>Sets the permission policy title.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateId</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListInformationRightsManagement -List \"Documents\" -Enabled $true</dev:code>\n        <maml:remarks>\n          <maml:para>Enables Information Rights Management (IRM) on the list.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPListItem</command:name>\n      <maml:description>\n        <maml:para>Updates a list item</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPListItem</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPListItem</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ContentType</maml:name>\n          <maml:description>\n            <maml:para>Specify either the name, ID or an actual content type</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ContentTypePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Values</maml:name>\n          <maml:description>\n            <maml:para>Use the internal names of the fields when specifying field names.\n\nSingle line of text: -Values @{\"TextField\" = \"Title New\"}\n\nMultiple lines of text: -Values @{\"MultiTextField\" = \"New text\\n\\nMore text\"}\n\nRich text: -Values @{\"MultiTextField\" = \"&lt;strong&gt;New&lt;/strong&gt; text\"}\n\nChoice: -Values @{\"ChoiceField\" = \"Value 1\"}\n\nNumber: -Values @{\"NumberField\" = \"10\"}\n\nCurrency: -Values @{\"NumberField\" = \"10\"}\n\nCurrency: -Values @{\"CurrencyField\" = \"10\"}\n\nDate and Time: -Values @{\"DateAndTimeField\" = \"03/10/2015 14:16\"}\n\nLookup (id of lookup value): -Values @{\"LookupField\" = \"2\"}\n\nMulti value lookup (id of lookup values as array 1): -Values @{\"MultiLookupField\" = \"1\",\"2\"}\n\nMulti value lookup (id of lookup values as array 2): -Values @{\"MultiLookupField\" = 1,2}\n\nMulti value lookup (id of lookup values as string): -Values @{\"MultiLookupField\" = \"1,2\"}\n\nYes/No: -Values @{\"YesNoField\" = $false}\n\nPerson/Group (id of user/group in Site User Info List or email of the user, seperate multiple values with a comma): -Values @{\"PersonField\" = \"user1@domain.com\",\"21\"}\n\nManaged Metadata (single value with path to term): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\"}\n\nManaged Metadata (single value with id of term): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\"} with Id of term\n\nManaged Metadata (multiple values with paths to terms): -Values @{\"MetadataField\" = (\"CORPORATE|DEPARTMENTS|FINANCE\",\"CORPORATE|DEPARTMENTS|HR\")}\n\nManaged Metadata (multiple values with ids of terms): -Values @{\"MetadataField\" = (\"fe40a95b-2144-4fa2-b82a-0b3d0299d818\",\"52d88107-c2a8-4bf0-adfa-04bc2305b593\")}\n\nHyperlink or Picture: -Values @{\"HyperlinkField\" = \"https://github.com/OfficeDev/, OfficePnp\"}</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SystemUpdate</maml:name>\n          <maml:description>\n            <maml:para>Update the item without creating a new version.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ContentType</maml:name>\n        <maml:description>\n          <maml:para>Specify either the name, ID or an actual content type</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ContentTypePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ContentTypePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SystemUpdate</maml:name>\n        <maml:description>\n          <maml:para>Update the item without creating a new version.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Values</maml:name>\n        <maml:description>\n          <maml:para>Use the internal names of the fields when specifying field names.\n\nSingle line of text: -Values @{\"TextField\" = \"Title New\"}\n\nMultiple lines of text: -Values @{\"MultiTextField\" = \"New text\\n\\nMore text\"}\n\nRich text: -Values @{\"MultiTextField\" = \"&lt;strong&gt;New&lt;/strong&gt; text\"}\n\nChoice: -Values @{\"ChoiceField\" = \"Value 1\"}\n\nNumber: -Values @{\"NumberField\" = \"10\"}\n\nCurrency: -Values @{\"NumberField\" = \"10\"}\n\nCurrency: -Values @{\"CurrencyField\" = \"10\"}\n\nDate and Time: -Values @{\"DateAndTimeField\" = \"03/10/2015 14:16\"}\n\nLookup (id of lookup value): -Values @{\"LookupField\" = \"2\"}\n\nMulti value lookup (id of lookup values as array 1): -Values @{\"MultiLookupField\" = \"1\",\"2\"}\n\nMulti value lookup (id of lookup values as array 2): -Values @{\"MultiLookupField\" = 1,2}\n\nMulti value lookup (id of lookup values as string): -Values @{\"MultiLookupField\" = \"1,2\"}\n\nYes/No: -Values @{\"YesNoField\" = $false}\n\nPerson/Group (id of user/group in Site User Info List or email of the user, seperate multiple values with a comma): -Values @{\"PersonField\" = \"user1@domain.com\",\"21\"}\n\nManaged Metadata (single value with path to term): -Values @{\"MetadataField\" = \"CORPORATE|DEPARTMENTS|FINANCE\"}\n\nManaged Metadata (single value with id of term): -Values @{\"MetadataField\" = \"fe40a95b-2144-4fa2-b82a-0b3d0299d818\"} with Id of term\n\nManaged Metadata (multiple values with paths to terms): -Values @{\"MetadataField\" = (\"CORPORATE|DEPARTMENTS|FINANCE\",\"CORPORATE|DEPARTMENTS|HR\")}\n\nManaged Metadata (multiple values with ids of terms): -Values @{\"MetadataField\" = (\"fe40a95b-2144-4fa2-b82a-0b3d0299d818\",\"52d88107-c2a8-4bf0-adfa-04bc2305b593\")}\n\nHyperlink or Picture: -Values @{\"HyperlinkField\" = \"https://github.com/OfficeDev/, OfficePnp\"}</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.ListItem</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Set-PnPListItem -List \"Demo List\" -Identity 1 -Values @{\"Title\" = \"Test Title\"; \"Category\"=\"Test Category\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Sets fields value in the list item with ID 1 in the \"Demo List\". It sets both the Title and Category fields with the specified values. Notice, use the internal names of fields.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Set-PnPListItem -List \"Demo List\" -Identity 1 -ContentType \"Company\" -Values @{\"Title\" = \"Test Title\"; \"Category\"=\"Test Category\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Sets fields value in the list item with ID 1 in the \"Demo List\". It sets the content type of the item to \"Company\" and it sets both the Title and Category fields with the specified values. Notice, use the internal names of fields.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>Set-PnPListItem -List \"Demo List\" -Identity $item -Values @{\"Title\" = \"Test Title\"; \"Category\"=\"Test Category\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Sets fields value in the list item which has been retrieved by for instance Get-PnPListItem. It sets the content type of the item to \"Company\" and it sets both the Title and Category fields with the specified values. Notice, use the internal names of fields.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPListItemAsRecord</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nDeclares a list item as a record</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPListItemAsRecord</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPListItemAsRecord</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DeclarationDate</maml:name>\n          <maml:description>\n            <maml:para>The declaration date</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DateTime</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DeclarationDate</maml:name>\n        <maml:description>\n          <maml:para>The declaration date</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">DateTime</command:parameterValue>\n        <dev:type>\n          <maml:name>DateTime</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListItemAsRecord -List \"Documents\" -Identity 4</dev:code>\n        <maml:remarks>\n          <maml:para>Declares the document in the documents library with id 4 as a record</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListItemAsRecord -List \"Documents\" -Identity 4 -DeclarationDate $date</dev:code>\n        <maml:remarks>\n          <maml:para>Declares the document in the documents library with id as a record</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPListItemPermission</command:name>\n      <maml:description>\n        <maml:para>Sets list item permissions</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPListItemPermission</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPListItemPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>InheritPermissions</maml:name>\n          <maml:description>\n            <maml:para>Inherit permissions from the list, removing unique permissions</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPListItemPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClearExisting</maml:name>\n          <maml:description>\n            <maml:para>Clear all existing permissions</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPListItemPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>User</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClearExisting</maml:name>\n          <maml:description>\n            <maml:para>Clear all existing permissions</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AddRole</maml:name>\n        <maml:description>\n          <maml:para>The role that must be assigned to the group or user</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ClearExisting</maml:name>\n        <maml:description>\n          <maml:para>Clear all existing permissions</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Group</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>InheritPermissions</maml:name>\n        <maml:description>\n          <maml:para>Inherit permissions from the list, removing unique permissions</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RemoveRole</maml:name>\n        <maml:description>\n          <maml:para>The role that must be removed from the group or user</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>User</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'user@contoso.com' -AddRole 'Contribute'</dev:code>\n        <maml:remarks>\n          <maml:para>Adds the 'Contribute' permission to the user 'user@contoso.com' for listitem with id 1 in the list 'Documents'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'user@contoso.com' -RemoveRole 'Contribute'</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the 'Contribute' permission to the user 'user@contoso.com' for listitem with id 1 in the list 'Documents'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'user@contoso.com' -AddRole 'Contribute' -ClearExisting</dev:code>\n        <maml:remarks>\n          <maml:para>Adds the 'Contribute' permission to the user 'user@contoso.com' for listitem with id 1 in the list 'Documents' and removes all other permissions</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListItemPermission -List 'Documents' -Identity 1 -InheritPermissions</dev:code>\n        <maml:remarks>\n          <maml:para>Resets permissions for listitem with id 1 to inherit permissions from the list 'Documents'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPListPermission</command:name>\n      <maml:description>\n        <maml:para>Sets list permissions</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPListPermission</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPListPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID or Title of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPListPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>User</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID or Title of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AddRole</maml:name>\n        <maml:description>\n          <maml:para>The role that must be assigned to the group or user</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Group</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID or Title of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RemoveRole</maml:name>\n        <maml:description>\n          <maml:para>The role that must be removed from the group or user</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>User</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListPermission -Identity 'Documents' -User 'user@contoso.com' -AddRole 'Contribute'</dev:code>\n        <maml:remarks>\n          <maml:para>Adds the 'Contribute' permission to the user 'user@contoso.com' for the list 'Documents'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListPermission -Identity 'Documents' -User 'user@contoso.com' -RemoveRole 'Contribute'</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the 'Contribute' permission to the user 'user@contoso.com' for the list 'Documents'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPListRecordDeclaration</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nThe RecordDeclaration parameter supports 4 values:\n\nAlwaysAllowManualDeclaration\nNeverAllowManualDeclaration\nUseSiteCollectionDefaults\n</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPListRecordDeclaration</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPListRecordDeclaration</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The List to set the manual record declaration settings for</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ManualRecordDeclaration</maml:name>\n          <maml:description>\n            <maml:para>Defines the manual record declaration setting for the lists</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">EcmListManualRecordDeclaration</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AutoRecordDeclaration</maml:name>\n          <maml:description>\n            <maml:para>Defines if you want to set auto record declaration on the list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AutoRecordDeclaration</maml:name>\n        <maml:description>\n          <maml:para>Defines if you want to set auto record declaration on the list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The List to set the manual record declaration settings for</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ManualRecordDeclaration</maml:name>\n        <maml:description>\n          <maml:para>Defines the manual record declaration setting for the lists</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">EcmListManualRecordDeclaration</command:parameterValue>\n        <dev:type>\n          <maml:name>EcmListManualRecordDeclaration</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListRecordDeclaration -List \"Documents\" -ManualRecordDeclaration NeverAllowManualDeclaration</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the manual record declaration to never allow</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPListRecordDeclaration -List \"Documents\" -AutoRecordDeclaration $true</dev:code>\n        <maml:remarks>\n          <maml:para>Turns on auto record declaration for the list</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPMasterPage</command:name>\n      <maml:description>\n        <maml:para>Set the masterpage</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPMasterPage</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets the default master page of the current web.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPMasterPage</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MasterPageServerRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Master page URL based on the server relative URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CustomMasterPageServerRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies the custom Master page URL based on the server relative URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPMasterPage</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MasterPageSiteRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Master page URL based on the site relative URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CustomMasterPageSiteRelativeUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies the custom Master page URL based on the site relative URL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CustomMasterPageServerRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies the custom Master page URL based on the server relative URL</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CustomMasterPageSiteRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies the custom Master page URL based on the site relative URL</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MasterPageServerRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Master page URL based on the server relative URL</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MasterPageSiteRelativeUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Master page URL based on the site relative URL</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPMasterPage -MasterPageServerRelativeUrl /sites/projects/_catalogs/masterpage/oslo.master</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the master page based on a server relative URL</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPMasterPage -MasterPageServerRelativeUrl /sites/projects/_catalogs/masterpage/oslo.master -CustomMasterPageServerRelativeUrl /sites/projects/_catalogs/masterpage/oslo.master</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the master page and custom master page based on a server relative URL</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPMasterPage -MasterPageSiteRelativeUrl _catalogs/masterpage/oslo.master</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the master page based on a site relative URL</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPMasterPage -MasterPageSiteRelativeUrl _catalogs/masterpage/oslo.master -CustomMasterPageSiteRelativeUrl _catalogs/masterpage/oslo.master</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the master page and custom master page based on a site relative URL</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPMinimalDownloadStrategy</command:name>\n      <maml:description>\n        <maml:para>Activates or deactivates the minimal downloading strategy.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPMinimalDownloadStrategy</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Activates or deactivates the minimal download strategy feature of a site</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPMinimalDownloadStrategy</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>On</maml:name>\n          <maml:description>\n            <maml:para>Turn minimal download strategy on</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether to overwrite (when activating) or continue (when deactivating) an existing feature with the same feature identifier. This parameter is ignored if there are no errors.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPMinimalDownloadStrategy</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Off</maml:name>\n          <maml:description>\n            <maml:para>Turn minimal download strategy off</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether to overwrite (when activating) or continue (when deactivating) an existing feature with the same feature identifier. This parameter is ignored if there are no errors.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether to overwrite (when activating) or continue (when deactivating) an existing feature with the same feature identifier. This parameter is ignored if there are no errors.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Off</maml:name>\n        <maml:description>\n          <maml:para>Turn minimal download strategy off</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>On</maml:name>\n        <maml:description>\n          <maml:para>Turn minimal download strategy on</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPMinimalDownloadStrategy -Off</dev:code>\n        <maml:remarks>\n          <maml:para>Will deactivate minimal download strategy (MDS) for the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPMinimalDownloadStrategy -On</dev:code>\n        <maml:remarks>\n          <maml:para>Will activate minimal download strategy (MDS) for the current web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPStorageEntity</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSet Storage Entities / Farm Properties.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPStorageEntity</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPStorageEntity</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para>The key of the value to set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Value</maml:name>\n          <maml:description>\n            <maml:para>The value to set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Comment</maml:name>\n          <maml:description>\n            <maml:para>The comment to set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The description to set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Comment</maml:name>\n        <maml:description>\n          <maml:para>The comment to set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The description to set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para>The key of the value to set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Value</maml:name>\n        <maml:description>\n          <maml:para>The value to set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPStorageEntity -Key MyKey -Value \"MyValue\" -Comment \"My Comment\" -Description \"My Description\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets an existing or adds a new storage entity / farm property</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPPropertyBagValue</command:name>\n      <maml:description>\n        <maml:para>Sets a property bag value</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPPropertyBagValue</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPPropertyBagValue</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Value</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Folder</maml:name>\n          <maml:description>\n            <maml:para>Site relative url of the folder. See examples for use.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPPropertyBagValue</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Value</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Indexed</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Folder</maml:name>\n        <maml:description>\n          <maml:para>Site relative url of the folder. See examples for use.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Indexed</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Value</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPPropertyBagValue -Key MyKey -Value MyValue</dev:code>\n        <maml:remarks>\n          <maml:para>This sets or adds a value to the current web property bag</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPPropertyBagValue -Key MyKey -Value MyValue -Folder /</dev:code>\n        <maml:remarks>\n          <maml:para>This sets or adds a value to the root folder of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPPropertyBagValue -Key MyKey -Value MyValue -Folder /MyFolder</dev:code>\n        <maml:remarks>\n          <maml:para>This sets or adds a value to the folder MyFolder which is located in the root folder of the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPProvisioningTemplateMetadata</command:name>\n      <maml:description>\n        <maml:para>Sets metadata of a provisioning template</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPProvisioningTemplateMetadata</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPProvisioningTemplateMetadata</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Path to the xml or pnp file containing the provisioning template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateDisplayName</maml:name>\n          <maml:description>\n            <maml:para>It can be used to specify the DisplayName of the template file that will be updated.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateImagePreviewUrl</maml:name>\n          <maml:description>\n            <maml:para>It can be used to specify the ImagePreviewUrl of the template file that will be updated.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateProperties</maml:name>\n          <maml:description>\n            <maml:para>It can be used to specify custom Properties for the template file that will be updated.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TemplateProviderExtensions</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify ITemplateProviderExtension to execute while extracting a template.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ITemplateProviderExtension[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Path to the xml or pnp file containing the provisioning template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateDisplayName</maml:name>\n        <maml:description>\n          <maml:para>It can be used to specify the DisplayName of the template file that will be updated.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateImagePreviewUrl</maml:name>\n        <maml:description>\n          <maml:para>It can be used to specify the ImagePreviewUrl of the template file that will be updated.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateProperties</maml:name>\n        <maml:description>\n          <maml:para>It can be used to specify custom Properties for the template file that will be updated.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TemplateProviderExtensions</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify ITemplateProviderExtension to execute while extracting a template.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ITemplateProviderExtension[]</command:parameterValue>\n        <dev:type>\n          <maml:name>ITemplateProviderExtension[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPProvisioningTemplateMetadata -Path template.xml -TemplateDisplayName \"DisplayNameValue\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the DisplayName property of a provisioning template in XML format.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPProvisioningTemplateMetadata -Path template.pnp -TemplateDisplayName \"DisplayNameValue\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the DisplayName property of a provisioning template in Office Open XML format.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPProvisioningTemplateMetadata -Path template.xml -TemplateImagePreviewUrl \"Full URL of the Image Preview\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the Url to the preview image of a provisioning template in XML format.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPProvisioningTemplateMetadata -Path template.pnp -TemplateImagePreviewUrl \"Full URL of the Image Preview\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the to the preview image of a provisioning template in Office Open XML format.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPProvisioningTemplateMetadata -Path template.xml -TemplateProperties @{\"Property1\" = \"Test Value 1\"; \"Property2\"=\"Test Value 2\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the property 'Property1' to the value 'Test Value 1' of a provisioning template in XML format.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 6---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPProvisioningTemplateMetadata -Path template.pnp -TemplateProperties @{\"Property1\" = \"Test Value 1\"; \"Property2\"=\"Test Value 2\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the property 'Property1' to the value 'Test Value 1' of a provisioning template in Office Open XML format.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPRequestAccessEmails</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSets Request Access Emails on a web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPRequestAccessEmails</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPRequestAccessEmails</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Emails</maml:name>\n          <maml:description>\n            <maml:para>Email address(es) to set the RequestAccessEmails to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Emails</maml:name>\n        <maml:description>\n          <maml:para>Email address(es) to set the RequestAccessEmails to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPRequestAccessEmails -Emails someone@example.com </dev:code>\n        <maml:remarks>\n          <maml:para>This will update the request access e-mail address</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPRequestAccessEmails -Emails @( someone@example.com; someoneelse@example.com )</dev:code>\n        <maml:remarks>\n          <maml:para>This will update multiple request access e-mail addresses</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPSearchConfiguration</command:name>\n      <maml:description>\n        <maml:para>Sets the search configuration</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPSearchConfiguration</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPSearchConfiguration</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Configuration</maml:name>\n          <maml:description>\n            <maml:para>Search configuration string</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">SearchConfigurationScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPSearchConfiguration</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para>Path to a search configuration</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Scope</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">SearchConfigurationScope</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Configuration</maml:name>\n        <maml:description>\n          <maml:para>Search configuration string</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para>Path to a search configuration</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Scope</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SearchConfigurationScope</command:parameterValue>\n        <dev:type>\n          <maml:name>SearchConfigurationScope</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSearchConfiguration -Configuration $config</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the search configuration for the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSearchConfiguration -Configuration $config -Scope Site</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the search configuration for the current site collection</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSearchConfiguration -Configuration $config -Scope Subscription</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the search configuration for the current tenant</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSearchConfiguration -Path searchconfig.xml -Scope Subscription</dev:code>\n        <maml:remarks>\n          <maml:para>Reads the search configuration from the specified XML file and sets it for the current tenant</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSets Site Collection properties.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPSite</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPSite</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Classification</maml:name>\n          <maml:description>\n            <maml:para>The classification to set</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DisableFlows</maml:name>\n          <maml:description>\n            <maml:para>Disables flows for this site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Classification</maml:name>\n        <maml:description>\n          <maml:para>The classification to set</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DisableFlows</maml:name>\n        <maml:description>\n          <maml:para>Disables flows for this site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSite -Classification \"HBI\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the current site classification to HBI</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSite -Classification $null</dev:code>\n        <maml:remarks>\n          <maml:para>Unsets the current site classification</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSite -DisableFlows</dev:code>\n        <maml:remarks>\n          <maml:para>Disables Flows for this site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSite -DisableFlows:$false</dev:code>\n        <maml:remarks>\n          <maml:para>Enables Flows for this site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPSiteClosure</command:name>\n      <maml:description>\n        <maml:para>Opens or closes a site which has a site policy applied</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPSiteClosure</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPSiteClosure</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>State</maml:name>\n          <maml:description>\n            <maml:para>The state of the site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ClosureState</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>State</maml:name>\n        <maml:description>\n          <maml:para>The state of the site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ClosureState</command:parameterValue>\n        <dev:type>\n          <maml:name>ClosureState</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSiteClosure -State Open</dev:code>\n        <maml:remarks>\n          <maml:para>This opens a site which has been closed and has a site policy applied.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSiteClosure -State Closed</dev:code>\n        <maml:remarks>\n          <maml:para>This closes a site which is open and has a site policy applied.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPSiteDesign</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nUpdates a Site Design on the current tenant.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPSiteDesign</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPSiteDesign</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The guid or an object representing the site design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the site design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SiteScriptIds</maml:name>\n          <maml:description>\n            <maml:para>An array of guids of site scripts</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The description of the site design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IsDefault</maml:name>\n          <maml:description>\n            <maml:para>Specifies if the site design is a default site design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PreviewImageAltText</maml:name>\n          <maml:description>\n            <maml:para>Sets the text for the preview image</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PreviewImageUrl</maml:name>\n          <maml:description>\n            <maml:para>Sets the url to the preview image</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WebTemplate</maml:name>\n          <maml:description>\n            <maml:para>Specifies the type of site to which this design applies</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SiteWebTemplate</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Version</maml:name>\n          <maml:description>\n            <maml:para>Specifies the version of the design</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The description of the site design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The guid or an object representing the site design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">TenantSiteDesignPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteDesignPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IsDefault</maml:name>\n        <maml:description>\n          <maml:para>Specifies if the site design is a default site design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PreviewImageAltText</maml:name>\n        <maml:description>\n          <maml:para>Sets the text for the preview image</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PreviewImageUrl</maml:name>\n        <maml:description>\n          <maml:para>Sets the url to the preview image</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SiteScriptIds</maml:name>\n        <maml:description>\n          <maml:para>An array of guids of site scripts</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">GuidPipeBind[]</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the site design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Version</maml:name>\n        <maml:description>\n          <maml:para>Specifies the version of the design</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>WebTemplate</maml:name>\n        <maml:description>\n          <maml:para>Specifies the type of site to which this design applies</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SiteWebTemplate</command:parameterValue>\n        <dev:type>\n          <maml:name>SiteWebTemplate</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSiteDesign -Identity 046e2e76-67ba-46ca-a5f6-8eb418a7821e -Title \"My Updated Company Design\"</dev:code>\n        <maml:remarks>\n          <maml:para>Updates an existing Site Design and sets a new title.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $design = Get-PnPSiteDesign -Identity 046e2e76-67ba-46ca-a5f6-8eb418a7821e\nPS:&gt; Set-PnPSiteDesign -Identity $design -Title \"My Updated Company Design\"</dev:code>\n        <maml:remarks>\n          <maml:para>Updates an existing Site Design and sets a new title.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPSiteScript</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nUpdates an existing Site Script on the current tenant.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPSiteScript</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPSiteScript</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The guid or an object representing the site script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">TenantSiteScriptPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>The title of the site script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The description of the site script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Content</maml:name>\n          <maml:description>\n            <maml:para>A JSON string containing the site script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Version</maml:name>\n          <maml:description>\n            <maml:para>Specifies the version of the site script</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Content</maml:name>\n        <maml:description>\n          <maml:para>A JSON string containing the site script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The description of the site script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The guid or an object representing the site script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">TenantSiteScriptPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>TenantSiteScriptPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>The title of the site script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Version</maml:name>\n        <maml:description>\n          <maml:para>Specifies the version of the site script</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPSiteScript -Identity f1d55d9b-b116-4f54-bc00-164a51e7e47f -Title \"My Site Script\"</dev:code>\n        <maml:remarks>\n          <maml:para>Updates an existing Site Script and changes the title.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $script = Get-PnPSiteScript -Identity f1d55d9b-b116-4f54-bc00-164a51e7e47f \nPS:&gt; Set-PnPSiteScript -Identity $script -Title \"My Site Script\"</dev:code>\n        <maml:remarks>\n          <maml:para>Updates an existing Site Script and changes the title.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPTaxonomyFieldValue</command:name>\n      <maml:description>\n        <maml:para>Sets a taxonomy term value in a listitem field</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPTaxonomyFieldValue</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTaxonomyFieldValue</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ListItem</maml:name>\n          <maml:description>\n            <maml:para>The list item to set the field value to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItem</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InternalFieldName</maml:name>\n          <maml:description>\n            <maml:para>The internal name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Terms</maml:name>\n          <maml:description>\n            <maml:para>Allows you to specify terms with key value pairs that can be referred to in the template by means of the {id:label} token. See examples on how to use this parameter.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTaxonomyFieldValue</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermId</maml:name>\n          <maml:description>\n            <maml:para>The Id of the Term</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ListItem</maml:name>\n          <maml:description>\n            <maml:para>The list item to set the field value to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItem</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InternalFieldName</maml:name>\n          <maml:description>\n            <maml:para>The internal name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Label</maml:name>\n          <maml:description>\n            <maml:para>The Label value of the term</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTaxonomyFieldValue</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>TermPath</maml:name>\n          <maml:description>\n            <maml:para>A path in the form of GROUPLABEL|TERMSETLABEL|TERMLABEL</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ListItem</maml:name>\n          <maml:description>\n            <maml:para>The list item to set the field value to</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItem</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>InternalFieldName</maml:name>\n          <maml:description>\n            <maml:para>The internal name of the field</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>InternalFieldName</maml:name>\n        <maml:description>\n          <maml:para>The internal name of the field</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Label</maml:name>\n        <maml:description>\n          <maml:para>The Label value of the term</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ListItem</maml:name>\n        <maml:description>\n          <maml:para>The list item to set the field value to</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItem</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItem</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermId</maml:name>\n        <maml:description>\n          <maml:para>The Id of the Term</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>TermPath</maml:name>\n        <maml:description>\n          <maml:para>A path in the form of GROUPLABEL|TERMSETLABEL|TERMLABEL</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Terms</maml:name>\n        <maml:description>\n          <maml:para>Allows you to specify terms with key value pairs that can be referred to in the template by means of the {id:label} token. See examples on how to use this parameter.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTaxonomyFieldValue -ListItem $item -InternalFieldName 'Department' -TermId 863b832b-6818-4e6a-966d-2d3ee057931c</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the field called 'Department' to the value of the term with the ID specified</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTaxonomyFieldValue -ListItem $item -InternalFieldName 'Department' -TermPath 'CORPORATE|DEPARTMENTS|HR'</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the field called 'Department' to the term called HR which is located in the DEPARTMENTS termset, which in turn is located in the CORPORATE termgroup.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTaxonomyFieldValue -ListItem $item -InternalFieldName 'Department' -Terms @{\"TermId1\"=\"Label1\";\"TermId2\"=\"Label2\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the field called 'Department' with multiple terms by ID and label. You can refer to those terms with the {ID:label} token.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPTenant</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nReturns organization-level site collection properties</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPTenant</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Returns organization-level site collection properties such as StorageQuota, StorageQuotaAllocated, ResourceQuota,\nResourceQuotaAllocated, and SiteCreationMode.\n\nCurrently, there are no parameters for this cmdlet.\n\nYou must be a SharePoint Online global administrator to run the cmdlet.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTenant</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinCompatibilityLevel</maml:name>\n          <maml:description>\n            <maml:para>Specifies the lower bound on the compatibility level for new sites.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MaxCompatibilityLevel</maml:name>\n          <maml:description>\n            <maml:para>Specifies the upper bound on the compatibility level for new sites.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExternalServicesEnabled</maml:name>\n          <maml:description>\n            <maml:para>Enables external services for a tenant.\nExternal services are defined as services that are not in the Office 365 datacenters.\n\nThe valid values are:\nTrue (default) - External services are enabled for the tenant.\nFalse - External services that are outside of the Office 365 datacenters cannot interact with SharePoint.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>NoAccessRedirectUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies the URL of the redirected site for those site collections which have the locked state \"NoAccess\"\n\nThe valid values are:\n\"\"(default) - Blank by default, this will also remove or clear any value that has been set.\nFull URL - Example: https://contoso.sharepoint.com/Pages/Locked.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SharingCapability</maml:name>\n          <maml:description>\n            <maml:para>Determines what level of sharing is available for the site.\n\nThe valid values are:\nExternalUserAndGuestSharing (default) - External user sharing (share by email) and guest link sharing are both enabled. Disabled - External user sharing (share by email) and guest link sharing are both disabled.\nExternalUserSharingOnly - External user sharing (share by email) is enabled, but guest link sharing is disabled.\n\nFor more information about sharing, see Manage external sharing for your SharePoint online environment (http://office.microsoft.com/en-us/office365-sharepoint-online-enterprise-help/manage-external-sharing-for-your-sharepoint-online-environment-HA102849864.aspx).</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SharingCapabilities</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DisplayStartASiteOption</maml:name>\n          <maml:description>\n            <maml:para>Determines whether tenant users see the Start a Site menu option.\n\nThe valid values are:\nTrue (default) - Tenant users will see the Start a Site menu option.\nFalse - Start a Site is hidden from the menu.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StartASiteFormUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies URL of the form to load in the Start a Site dialog.\n\nThe valid values are:\n\"\" (default) - Blank by default, this will also remove or clear any value that has been set.\nFull URL - Example: \"https://contoso.sharepoint.com/path/to/form\"</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ShowEveryoneClaim</maml:name>\n          <maml:description>\n            <maml:para>Enables the administrator to hide the Everyone claim in the People Picker.\nWhen users share an item with Everyone, it is accessible to all authenticated users in the tenant's Azure Active Directory, including any active external users who have previously accepted invitations.\n\nNote, that some SharePoint system resources such as templates and pages are required to be shared to Everyone and this type of sharing does not expose any user data or metadata.\n\nThe valid values are:\nTrue (default) - The Everyone claim group is displayed in People Picker.\nFalse - The Everyone claim group is hidden from the People Picker.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ShowAllUsersClaim</maml:name>\n          <maml:description>\n            <maml:para>Enables the administrator to hide the All Users claim groups in People Picker.\n\nWhen users share an item with \"All Users (x)\", it is accessible to all organization members in the tenant's Azure Active Directory who have authenticated with via this method. When users share an item with \"All Users (x)\" it is accessible to all organtization members in the tenant that used NTLM to authentication with SharePoint.\n\nNote, the All Users(authenticated) group is equivalent to the Everyone claim, and shows as Everyone.To change this, see - ShowEveryoneClaim.\n\nThe valid values are:\nTrue(default) - The All Users claim groups are displayed in People Picker.\nFalse - The All Users claim groups are hidden in People Picker.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ShowEveryoneExceptExternalUsersClaim</maml:name>\n          <maml:description>\n            <maml:para>Enables the administrator to hide the \"Everyone except external users\" claim in the People Picker.\nWhen users share an item with \"Everyone except external users\", it is accessible to all organization members in the tenant's Azure Active Directory, but not to any users who have previously accepted invitations.\n\nThe valid values are:\nTrue(default) - The Everyone except external users is displayed in People Picker.\nFalse - The Everyone except external users claim is not visible in People Picker.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SearchResolveExactEmailOrUPN</maml:name>\n          <maml:description>\n            <maml:para>Removes the search capability from People Picker. Note, recently resolved names will still appear in the list until browser cache is cleared or expired.\n\nSharePoint Administrators will still be able to use starts with or partial name matching when enabled.\n\nThe valid values are:\nFalse (default) - Starts with / partial name search functionality is available.\nTrue - Disables starts with / partial name search functionality for all SharePoint users, except SharePoint Admins.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OfficeClientADALDisabled</maml:name>\n          <maml:description>\n            <maml:para>When set to true this will disable the ability to use Modern Authentication that leverages ADAL across the tenant.\n\nThe valid values are:\nFalse (default) - Modern Authentication is enabled/allowed.\nTrue - Modern Authentication via ADAL is disabled.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LegacyAuthProtocolsEnabled</maml:name>\n          <maml:description>\n            <maml:para>By default this value is set to $true.\n\nSetting this parameter prevents Office clients using non-modern authentication protocols from accessing SharePoint Online resources.\n\nA value of $true - Enables Office clients using non-modern authentication protocols(such as, Forms-Based Authentication (FBA) or Identity Client Runtime Library (IDCRL)) to access SharePoint resources.\n\nA value of $false - Prevents Office clients using non-modern authentication protocols from accessing SharePoint Online resources.\n\nNote:\nThis may also prevent third-party apps from accessing SharePoint Online resources.Also, this will also block apps using the SharePointOnlineCredentials class to access SharePoint Online resources.For additional information about SharePointOnlineCredentials, see SharePointOnlineCredentials class.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequireAcceptingAccountMatchInvitedAccount</maml:name>\n          <maml:description>\n            <maml:para>Ensures that an external user can only accept an external sharing invitation with an account matching the invited email address.\n\nAdministrators who desire increased control over external collaborators should consider enabling this feature.\n\nNote, this only applies to new external users accepting new sharing invitations. Also, the resource owner must share with an organizational or Microsoft account or the external user will be unable to access the resource.\n\nThe valid values are:\nFalse (default) - When a document is shared with an external user, bob@contoso.com, it can be accepted by any user with access to the invitation link in the original e-mail.\nTrue - User must accept this invitation with bob@contoso.com.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProvisionSharedWithEveryoneFolder</maml:name>\n          <maml:description>\n            <maml:para>Creates a Shared with Everyone folder in every user's new OneDrive for Business document library.\n\nThe valid values are:\nTrue (default) - The Shared with Everyone folder is created.\nFalse - No folder is created when the site and OneDrive for Business document library is created.\n\nThe default behavior of the Shared with Everyone folder changed in August 2015.\nFor additional information about the change, see Provision the Shared with Everyone folder in OneDrive for Business (https://support.office.com/en-us/article/Provision-the-Shared-with-Everyone-folder-in-OneDrive-for-Business-6bb02c91-fd0b-42ba-9457-3921cb6dc5b2?ui=en-US&amp;rs=en-US&amp;ad=US)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SignInAccelerationDomain</maml:name>\n          <maml:description>\n            <maml:para>Specifies the home realm discovery value to be sent to Azure Active Directory (AAD) during the user sign-in process.\n\nWhen the organization uses a third-party identity provider, this prevents the user from seeing the Azure Active Directory Home Realm Discovery web page and ensures the user only sees their company's Identity Provider's portal.\nThis value can also be used with Azure Active Directory Premium to customize the Azure Active Directory login page.\n\nAcceleration will not occur on site collections that are shared externally.\n\nThis value should be configured with the login domain that is used by your company (that is, example@contoso.com).\n\nIf your company has multiple third-party identity providers, configuring the sign-in acceleration value will break sign-in for your organization.\n\nThe valid values are:\n\"\" (default) - Blank by default, this will also remove or clear any value that has been set.\nLogin Domain - For example: \"contoso.com\"</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableGuestSignInAcceleration</maml:name>\n          <maml:description>\n            <maml:para>Accelerates guest-enabled site collections as well as member-only site collections when the SignInAccelerationDomain parameter is set.\n\nNote:\nIf enabled, your identity provider must be capable of authenticating guest users. If it is not, guest users will be unable to log in and access content that was shared with them.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UsePersistentCookiesForExplorerView</maml:name>\n          <maml:description>\n            <maml:para>Lets SharePoint issue a special cookie that will allow this feature to work even when \"Keep Me Signed In\" is not selected.\n\n\"Open with Explorer\" requires persisted cookies to operate correctly.\nWhen the user does not select \"Keep Me Signed in\" at the time of sign -in, \"Open with Explorer\" will fail.\n\nThis special cookie expires after 30 minutes and cannot be cleared by closing the browser or signing out of SharePoint Online.To clear this cookie, the user must log out of their Windows session.\n\nThe valid values are:\nFalse(default) - No special cookie is generated and the normal Office 365 sign -in length / timing applies.\nTrue - Generates a special cookie that will allow \"Open with Explorer\" to function if the \"Keep Me Signed In\" box is not checked at sign -in.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>BccExternalSharingInvitations</maml:name>\n          <maml:description>\n            <maml:para>When the feature is enabled, all external sharing invitations that are sent will blind copy the e-mail messages listed in the BccExternalSharingsInvitationList.\n\nThe valid values are:\nFalse (default) - BCC for external sharing is disabled.\nTrue - All external sharing invitations that are sent will blind copy the e-mail messages listed in the BccExternalSharingsInvitationList.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>BccExternalSharingInvitationsList</maml:name>\n          <maml:description>\n            <maml:para>Specifies a list of e-mail addresses to be BCC'd when the BCC for External Sharing feature is enabled.\nMultiple addresses can be specified by creating a comma separated list with no spaces.\n\nThe valid values are:\n\"\" (default) - Blank by default, this will also clear any value that has been set.\nSingle or Multiple e-mail addresses - joe@contoso.com or joe@contoso.com,bob@contoso.com</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UserVoiceForFeedbackEnabled</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PublicCdnEnabled</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PublicCdnAllowedFileTypes</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RequireAnonymousLinksExpireInDays</maml:name>\n          <maml:description>\n            <maml:para>Specifies all anonymous links that have been created (or will be created) will expire after the set number of days .\n\nTo remove the expiration requirement, set the value to zero (0).</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SharingAllowedDomainList</maml:name>\n          <maml:description>\n            <maml:para>Specifies a list of email domains that is allowed for sharing with the external collaborators. Use the space character as the delimiter for entering multiple values. For example, \"contoso.com fabrikam.com\".\n\nFor additional information about how to restrict a domain sharing, see Restricted Domains Sharing in Office 365 SharePoint Online and OneDrive for Business</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SharingBlockedDomainList</maml:name>\n          <maml:description>\n            <maml:para>Specifies a list of email domains that is blocked or prohibited for sharing with the external collaborators. Use space character as the delimiter for entering multiple values. For example, \"contoso.com fabrikam.com\".\n\nFor additional information about how to restrict a domain sharing, see Restricted Domains Sharing in Office 365 SharePoint Online and OneDrive for Business</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SharingDomainRestrictionMode</maml:name>\n          <maml:description>\n            <maml:para>Specifies the external sharing mode for domains.\n\nThe following values are: None AllowList BlockList\n\nFor additional information about how to restrict a domain sharing, see Restricted Domains Sharing in Office 365 SharePoint Online and OneDrive for Business.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SharingDomainRestrictionModes</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OneDriveStorageQuota</maml:name>\n          <maml:description>\n            <maml:para>Sets a default OneDrive for Business storage quota for the tenant. It will be used for new OneDrive for Business sites created.\n\nA typical use will be to reduce the amount of storage associated with OneDrive for Business to a level below what the License entitles the users. For example, it could be used to set the quota to 10 gigabytes (GB) by default.\n\nIf value is set to 0, the parameter will have no effect.\n\nIf the value is set larger than the Maximum allowed OneDrive for Business quota, it will have no effect.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int64</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OneDriveForGuestsEnabled</maml:name>\n          <maml:description>\n            <maml:para>Lets OneDrive for Business creation for administrator managed guest users. Administrator managed Guest users use credentials in the resource tenant to access the resources.\n\nThe valid values are the following:\n\n$true-Administrator managed Guest users can be given OneDrives, provided needed licenses are assigned.\n\n$false- Administrator managed Guest users can't be given OneDrives as functionality is turned off.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IPAddressEnforcement</maml:name>\n          <maml:description>\n            <maml:para>Allows access from network locations that are defined by an administrator.\n\nThe values are $true and $false. The default value is $false which means the setting is disabled.\n\nBefore the IPAddressEnforcement parameter is set, make sure you add a valid IPv4 or IPv6 address to the IPAddressAllowList parameter.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IPAddressAllowList</maml:name>\n          <maml:description>\n            <maml:para>Configures multiple IP addresses or IP address ranges (IPv4 or IPv6).\n\nUse commas to separate multiple IP addresses or IP address ranges. Verify there are no overlapping IP addresses and ensure IP ranges use Classless Inter-Domain Routing (CIDR) notation. For example, 172.16.0.0, 192.168.1.0/27.\n\nNote:\nThe IPAddressAllowList parameter only lets administrators set IP addresses or ranges that are recognized as trusted. To only grant access from these IP addresses or ranges, set the IPAddressEnforcement parameter to $true.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IPAddressWACTokenLifetime</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UseFindPeopleInPeoplePicker</maml:name>\n          <maml:description>\n            <maml:para>Note:\nWhen set to $true, users aren't able to share with security groups or SharePoint groups.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DefaultSharingLinkType</maml:name>\n          <maml:description>\n            <maml:para>Lets administrators choose what type of link appears is selected in the “Get a link” sharing dialog box in OneDrive for Business and SharePoint Online.\n\nFor additional information about how to change the default link type, see Change the default link type when users get links for sharing.\n\nNote:\nSetting this value to “none” will default “get a link” to the most permissive link available (that is, if anonymous links are enabled, the default link will be anonymous access; if they are disabled then the default link will be internal.\n\nThe values are: None Direct Internal AnonymousAccess</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SharingLinkType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ODBMembersCanShare</maml:name>\n          <maml:description>\n            <maml:para>Lets administrators set policy on re-sharing behavior in OneDrive for Business.\n\nValues:\n\nOn- Users with edit permissions can re-share.\n\nOff- Only OneDrive for Business owner can share. The value of ODBAccessRequests defines whether a request to share gets sent to the owner.\n\nUnspecified- Let each OneDrive for Business owner enable or disable re-sharing behavior on their OneDrive.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SharingState</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ODBAccessRequests</maml:name>\n          <maml:description>\n            <maml:para>Lets administrators set policy on access requests and requests to share in OneDrive for Business.\n\nValues:\n\nOn- Users without permission to share can trigger sharing requests to the OneDrive for Business owner when they attempt to share. Also, users without permission to a file or folder can trigger access requests to the OneDrive for Business owner when they attempt to access an item they do not have permissions to.\n\nOff- Prevent access requests and requests to share on OneDrive for Business.\n\nUnspecified- Let each OneDrive for Business owner enable or disable access requests and requests to share on their OneDrive.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SharingState</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>PreventExternalUsersFromResharing</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ShowPeoplePickerSuggestionsForGuestUsers</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FileAnonymousLinkType</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">AnonymousLinkType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FolderAnonymousLinkType</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">AnonymousLinkType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>NotifyOwnersWhenItemsReshared</maml:name>\n          <maml:description>\n            <maml:para>When this parameter is set to $true and another user re-shares a document from a user’s OneDrive for Business, the OneDrive for Business owner is notified by e-mail.\n\nFor additional information about how to configure notifications for external sharing, see Configure notifications for external sharing for OneDrive for Business.\n\nThe values are $true and $false.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>NotifyOwnersWhenInvitationsAccepted</maml:name>\n          <maml:description>\n            <maml:para>When this parameter is set to $true and when an external user accepts an invitation to a resource in a user’s OneDrive for Business, the OneDrive for Business owner is notified by e-mail.\n\nFor additional information about how to configure notifications for external sharing, see Configure notifications for external sharing for OneDrive for Business.\n\nThe values are $true and $false.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>NotificationsInOneDriveForBusinessEnabled</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>NotificationsInSharePointEnabled</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OwnerAnonymousNotification</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CommentsOnSitePagesDisabled</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SocialBarOnSitePagesDisabled</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>OrphanedPersonalSitesRetentionPeriod</maml:name>\n          <maml:description>\n            <maml:para>Specifies the number of days after a user's Active Directory account is deleted that their OneDrive for Business content will be deleted.\n\nThe value range is in days, between 30 and 3650. The default value is 30.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DisallowInfectedFileDownload</maml:name>\n          <maml:description>\n            <maml:para>Prevents the Download button from being displayed on the Virus Found warning page.\n\nAccepts a value of true (enabled) to hide the Download button or false (disabled) to display the Download button. By default this feature is set to false.\n\n</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DefaultLinkPermission</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">SharingPermissionType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ConditionalAccessPolicy</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOConditionalAccessPolicyType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowDownloadingNonWebViewableFiles</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowEditing</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ApplyAppEnforcedRestrictionsToAdHocRecipients</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FilePickerExternalImageSearchEnabled</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EmailAttestationRequired</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EmailAttestationReAuthDays</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>HideDefaultThemes</maml:name>\n          <maml:description>\n            <maml:para>Defines if the default themes are visible or hidden</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowDownloadingNonWebViewableFiles</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowEditing</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ApplyAppEnforcedRestrictionsToAdHocRecipients</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>BccExternalSharingInvitations</maml:name>\n        <maml:description>\n          <maml:para>When the feature is enabled, all external sharing invitations that are sent will blind copy the e-mail messages listed in the BccExternalSharingsInvitationList.\n\nThe valid values are:\nFalse (default) - BCC for external sharing is disabled.\nTrue - All external sharing invitations that are sent will blind copy the e-mail messages listed in the BccExternalSharingsInvitationList.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>BccExternalSharingInvitationsList</maml:name>\n        <maml:description>\n          <maml:para>Specifies a list of e-mail addresses to be BCC'd when the BCC for External Sharing feature is enabled.\nMultiple addresses can be specified by creating a comma separated list with no spaces.\n\nThe valid values are:\n\"\" (default) - Blank by default, this will also clear any value that has been set.\nSingle or Multiple e-mail addresses - joe@contoso.com or joe@contoso.com,bob@contoso.com</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CommentsOnSitePagesDisabled</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ConditionalAccessPolicy</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOConditionalAccessPolicyType</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOConditionalAccessPolicyType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DefaultLinkPermission</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">SharingPermissionType</command:parameterValue>\n        <dev:type>\n          <maml:name>SharingPermissionType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DefaultSharingLinkType</maml:name>\n        <maml:description>\n          <maml:para>Lets administrators choose what type of link appears is selected in the “Get a link” sharing dialog box in OneDrive for Business and SharePoint Online.\n\nFor additional information about how to change the default link type, see Change the default link type when users get links for sharing.\n\nNote:\nSetting this value to “none” will default “get a link” to the most permissive link available (that is, if anonymous links are enabled, the default link will be anonymous access; if they are disabled then the default link will be internal.\n\nThe values are: None Direct Internal AnonymousAccess</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SharingLinkType</command:parameterValue>\n        <dev:type>\n          <maml:name>SharingLinkType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DisallowInfectedFileDownload</maml:name>\n        <maml:description>\n          <maml:para>Prevents the Download button from being displayed on the Virus Found warning page.\n\nAccepts a value of true (enabled) to hide the Download button or false (disabled) to display the Download button. By default this feature is set to false.\n\n</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DisplayStartASiteOption</maml:name>\n        <maml:description>\n          <maml:para>Determines whether tenant users see the Start a Site menu option.\n\nThe valid values are:\nTrue (default) - Tenant users will see the Start a Site menu option.\nFalse - Start a Site is hidden from the menu.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EmailAttestationReAuthDays</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EmailAttestationRequired</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableGuestSignInAcceleration</maml:name>\n        <maml:description>\n          <maml:para>Accelerates guest-enabled site collections as well as member-only site collections when the SignInAccelerationDomain parameter is set.\n\nNote:\nIf enabled, your identity provider must be capable of authenticating guest users. If it is not, guest users will be unable to log in and access content that was shared with them.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ExternalServicesEnabled</maml:name>\n        <maml:description>\n          <maml:para>Enables external services for a tenant.\nExternal services are defined as services that are not in the Office 365 datacenters.\n\nThe valid values are:\nTrue (default) - External services are enabled for the tenant.\nFalse - External services that are outside of the Office 365 datacenters cannot interact with SharePoint.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>FileAnonymousLinkType</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">AnonymousLinkType</command:parameterValue>\n        <dev:type>\n          <maml:name>AnonymousLinkType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>FilePickerExternalImageSearchEnabled</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>FolderAnonymousLinkType</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">AnonymousLinkType</command:parameterValue>\n        <dev:type>\n          <maml:name>AnonymousLinkType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>HideDefaultThemes</maml:name>\n        <maml:description>\n          <maml:para>Defines if the default themes are visible or hidden</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IPAddressAllowList</maml:name>\n        <maml:description>\n          <maml:para>Configures multiple IP addresses or IP address ranges (IPv4 or IPv6).\n\nUse commas to separate multiple IP addresses or IP address ranges. Verify there are no overlapping IP addresses and ensure IP ranges use Classless Inter-Domain Routing (CIDR) notation. For example, 172.16.0.0, 192.168.1.0/27.\n\nNote:\nThe IPAddressAllowList parameter only lets administrators set IP addresses or ranges that are recognized as trusted. To only grant access from these IP addresses or ranges, set the IPAddressEnforcement parameter to $true.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IPAddressEnforcement</maml:name>\n        <maml:description>\n          <maml:para>Allows access from network locations that are defined by an administrator.\n\nThe values are $true and $false. The default value is $false which means the setting is disabled.\n\nBefore the IPAddressEnforcement parameter is set, make sure you add a valid IPv4 or IPv6 address to the IPAddressAllowList parameter.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IPAddressWACTokenLifetime</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>LegacyAuthProtocolsEnabled</maml:name>\n        <maml:description>\n          <maml:para>By default this value is set to $true.\n\nSetting this parameter prevents Office clients using non-modern authentication protocols from accessing SharePoint Online resources.\n\nA value of $true - Enables Office clients using non-modern authentication protocols(such as, Forms-Based Authentication (FBA) or Identity Client Runtime Library (IDCRL)) to access SharePoint resources.\n\nA value of $false - Prevents Office clients using non-modern authentication protocols from accessing SharePoint Online resources.\n\nNote:\nThis may also prevent third-party apps from accessing SharePoint Online resources.Also, this will also block apps using the SharePointOnlineCredentials class to access SharePoint Online resources.For additional information about SharePointOnlineCredentials, see SharePointOnlineCredentials class.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MaxCompatibilityLevel</maml:name>\n        <maml:description>\n          <maml:para>Specifies the upper bound on the compatibility level for new sites.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MinCompatibilityLevel</maml:name>\n        <maml:description>\n          <maml:para>Specifies the lower bound on the compatibility level for new sites.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>NoAccessRedirectUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies the URL of the redirected site for those site collections which have the locked state \"NoAccess\"\n\nThe valid values are:\n\"\"(default) - Blank by default, this will also remove or clear any value that has been set.\nFull URL - Example: https://contoso.sharepoint.com/Pages/Locked.aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>NotificationsInOneDriveForBusinessEnabled</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>NotificationsInSharePointEnabled</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>NotifyOwnersWhenInvitationsAccepted</maml:name>\n        <maml:description>\n          <maml:para>When this parameter is set to $true and when an external user accepts an invitation to a resource in a user’s OneDrive for Business, the OneDrive for Business owner is notified by e-mail.\n\nFor additional information about how to configure notifications for external sharing, see Configure notifications for external sharing for OneDrive for Business.\n\nThe values are $true and $false.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>NotifyOwnersWhenItemsReshared</maml:name>\n        <maml:description>\n          <maml:para>When this parameter is set to $true and another user re-shares a document from a user’s OneDrive for Business, the OneDrive for Business owner is notified by e-mail.\n\nFor additional information about how to configure notifications for external sharing, see Configure notifications for external sharing for OneDrive for Business.\n\nThe values are $true and $false.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ODBAccessRequests</maml:name>\n        <maml:description>\n          <maml:para>Lets administrators set policy on access requests and requests to share in OneDrive for Business.\n\nValues:\n\nOn- Users without permission to share can trigger sharing requests to the OneDrive for Business owner when they attempt to share. Also, users without permission to a file or folder can trigger access requests to the OneDrive for Business owner when they attempt to access an item they do not have permissions to.\n\nOff- Prevent access requests and requests to share on OneDrive for Business.\n\nUnspecified- Let each OneDrive for Business owner enable or disable access requests and requests to share on their OneDrive.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SharingState</command:parameterValue>\n        <dev:type>\n          <maml:name>SharingState</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ODBMembersCanShare</maml:name>\n        <maml:description>\n          <maml:para>Lets administrators set policy on re-sharing behavior in OneDrive for Business.\n\nValues:\n\nOn- Users with edit permissions can re-share.\n\nOff- Only OneDrive for Business owner can share. The value of ODBAccessRequests defines whether a request to share gets sent to the owner.\n\nUnspecified- Let each OneDrive for Business owner enable or disable re-sharing behavior on their OneDrive.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SharingState</command:parameterValue>\n        <dev:type>\n          <maml:name>SharingState</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OfficeClientADALDisabled</maml:name>\n        <maml:description>\n          <maml:para>When set to true this will disable the ability to use Modern Authentication that leverages ADAL across the tenant.\n\nThe valid values are:\nFalse (default) - Modern Authentication is enabled/allowed.\nTrue - Modern Authentication via ADAL is disabled.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OneDriveForGuestsEnabled</maml:name>\n        <maml:description>\n          <maml:para>Lets OneDrive for Business creation for administrator managed guest users. Administrator managed Guest users use credentials in the resource tenant to access the resources.\n\nThe valid values are the following:\n\n$true-Administrator managed Guest users can be given OneDrives, provided needed licenses are assigned.\n\n$false- Administrator managed Guest users can't be given OneDrives as functionality is turned off.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OneDriveStorageQuota</maml:name>\n        <maml:description>\n          <maml:para>Sets a default OneDrive for Business storage quota for the tenant. It will be used for new OneDrive for Business sites created.\n\nA typical use will be to reduce the amount of storage associated with OneDrive for Business to a level below what the License entitles the users. For example, it could be used to set the quota to 10 gigabytes (GB) by default.\n\nIf value is set to 0, the parameter will have no effect.\n\nIf the value is set larger than the Maximum allowed OneDrive for Business quota, it will have no effect.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int64</command:parameterValue>\n        <dev:type>\n          <maml:name>Int64</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OrphanedPersonalSitesRetentionPeriod</maml:name>\n        <maml:description>\n          <maml:para>Specifies the number of days after a user's Active Directory account is deleted that their OneDrive for Business content will be deleted.\n\nThe value range is in days, between 30 and 3650. The default value is 30.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>OwnerAnonymousNotification</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PreventExternalUsersFromResharing</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ProvisionSharedWithEveryoneFolder</maml:name>\n        <maml:description>\n          <maml:para>Creates a Shared with Everyone folder in every user's new OneDrive for Business document library.\n\nThe valid values are:\nTrue (default) - The Shared with Everyone folder is created.\nFalse - No folder is created when the site and OneDrive for Business document library is created.\n\nThe default behavior of the Shared with Everyone folder changed in August 2015.\nFor additional information about the change, see Provision the Shared with Everyone folder in OneDrive for Business (https://support.office.com/en-us/article/Provision-the-Shared-with-Everyone-folder-in-OneDrive-for-Business-6bb02c91-fd0b-42ba-9457-3921cb6dc5b2?ui=en-US&amp;rs=en-US&amp;ad=US)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PublicCdnAllowedFileTypes</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>PublicCdnEnabled</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RequireAcceptingAccountMatchInvitedAccount</maml:name>\n        <maml:description>\n          <maml:para>Ensures that an external user can only accept an external sharing invitation with an account matching the invited email address.\n\nAdministrators who desire increased control over external collaborators should consider enabling this feature.\n\nNote, this only applies to new external users accepting new sharing invitations. Also, the resource owner must share with an organizational or Microsoft account or the external user will be unable to access the resource.\n\nThe valid values are:\nFalse (default) - When a document is shared with an external user, bob@contoso.com, it can be accepted by any user with access to the invitation link in the original e-mail.\nTrue - User must accept this invitation with bob@contoso.com.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RequireAnonymousLinksExpireInDays</maml:name>\n        <maml:description>\n          <maml:para>Specifies all anonymous links that have been created (or will be created) will expire after the set number of days .\n\nTo remove the expiration requirement, set the value to zero (0).</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SearchResolveExactEmailOrUPN</maml:name>\n        <maml:description>\n          <maml:para>Removes the search capability from People Picker. Note, recently resolved names will still appear in the list until browser cache is cleared or expired.\n\nSharePoint Administrators will still be able to use starts with or partial name matching when enabled.\n\nThe valid values are:\nFalse (default) - Starts with / partial name search functionality is available.\nTrue - Disables starts with / partial name search functionality for all SharePoint users, except SharePoint Admins.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SharingAllowedDomainList</maml:name>\n        <maml:description>\n          <maml:para>Specifies a list of email domains that is allowed for sharing with the external collaborators. Use the space character as the delimiter for entering multiple values. For example, \"contoso.com fabrikam.com\".\n\nFor additional information about how to restrict a domain sharing, see Restricted Domains Sharing in Office 365 SharePoint Online and OneDrive for Business</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SharingBlockedDomainList</maml:name>\n        <maml:description>\n          <maml:para>Specifies a list of email domains that is blocked or prohibited for sharing with the external collaborators. Use space character as the delimiter for entering multiple values. For example, \"contoso.com fabrikam.com\".\n\nFor additional information about how to restrict a domain sharing, see Restricted Domains Sharing in Office 365 SharePoint Online and OneDrive for Business</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SharingCapability</maml:name>\n        <maml:description>\n          <maml:para>Determines what level of sharing is available for the site.\n\nThe valid values are:\nExternalUserAndGuestSharing (default) - External user sharing (share by email) and guest link sharing are both enabled. Disabled - External user sharing (share by email) and guest link sharing are both disabled.\nExternalUserSharingOnly - External user sharing (share by email) is enabled, but guest link sharing is disabled.\n\nFor more information about sharing, see Manage external sharing for your SharePoint online environment (http://office.microsoft.com/en-us/office365-sharepoint-online-enterprise-help/manage-external-sharing-for-your-sharepoint-online-environment-HA102849864.aspx).</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SharingCapabilities</command:parameterValue>\n        <dev:type>\n          <maml:name>SharingCapabilities</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SharingDomainRestrictionMode</maml:name>\n        <maml:description>\n          <maml:para>Specifies the external sharing mode for domains.\n\nThe following values are: None AllowList BlockList\n\nFor additional information about how to restrict a domain sharing, see Restricted Domains Sharing in Office 365 SharePoint Online and OneDrive for Business.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SharingDomainRestrictionModes</command:parameterValue>\n        <dev:type>\n          <maml:name>SharingDomainRestrictionModes</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ShowAllUsersClaim</maml:name>\n        <maml:description>\n          <maml:para>Enables the administrator to hide the All Users claim groups in People Picker.\n\nWhen users share an item with \"All Users (x)\", it is accessible to all organization members in the tenant's Azure Active Directory who have authenticated with via this method. When users share an item with \"All Users (x)\" it is accessible to all organtization members in the tenant that used NTLM to authentication with SharePoint.\n\nNote, the All Users(authenticated) group is equivalent to the Everyone claim, and shows as Everyone.To change this, see - ShowEveryoneClaim.\n\nThe valid values are:\nTrue(default) - The All Users claim groups are displayed in People Picker.\nFalse - The All Users claim groups are hidden in People Picker.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ShowEveryoneClaim</maml:name>\n        <maml:description>\n          <maml:para>Enables the administrator to hide the Everyone claim in the People Picker.\nWhen users share an item with Everyone, it is accessible to all authenticated users in the tenant's Azure Active Directory, including any active external users who have previously accepted invitations.\n\nNote, that some SharePoint system resources such as templates and pages are required to be shared to Everyone and this type of sharing does not expose any user data or metadata.\n\nThe valid values are:\nTrue (default) - The Everyone claim group is displayed in People Picker.\nFalse - The Everyone claim group is hidden from the People Picker.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ShowEveryoneExceptExternalUsersClaim</maml:name>\n        <maml:description>\n          <maml:para>Enables the administrator to hide the \"Everyone except external users\" claim in the People Picker.\nWhen users share an item with \"Everyone except external users\", it is accessible to all organization members in the tenant's Azure Active Directory, but not to any users who have previously accepted invitations.\n\nThe valid values are:\nTrue(default) - The Everyone except external users is displayed in People Picker.\nFalse - The Everyone except external users claim is not visible in People Picker.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ShowPeoplePickerSuggestionsForGuestUsers</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SignInAccelerationDomain</maml:name>\n        <maml:description>\n          <maml:para>Specifies the home realm discovery value to be sent to Azure Active Directory (AAD) during the user sign-in process.\n\nWhen the organization uses a third-party identity provider, this prevents the user from seeing the Azure Active Directory Home Realm Discovery web page and ensures the user only sees their company's Identity Provider's portal.\nThis value can also be used with Azure Active Directory Premium to customize the Azure Active Directory login page.\n\nAcceleration will not occur on site collections that are shared externally.\n\nThis value should be configured with the login domain that is used by your company (that is, example@contoso.com).\n\nIf your company has multiple third-party identity providers, configuring the sign-in acceleration value will break sign-in for your organization.\n\nThe valid values are:\n\"\" (default) - Blank by default, this will also remove or clear any value that has been set.\nLogin Domain - For example: \"contoso.com\"</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SocialBarOnSitePagesDisabled</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StartASiteFormUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies URL of the form to load in the Start a Site dialog.\n\nThe valid values are:\n\"\" (default) - Blank by default, this will also remove or clear any value that has been set.\nFull URL - Example: \"https://contoso.sharepoint.com/path/to/form\"</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UseFindPeopleInPeoplePicker</maml:name>\n        <maml:description>\n          <maml:para>Note:\nWhen set to $true, users aren't able to share with security groups or SharePoint groups.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UsePersistentCookiesForExplorerView</maml:name>\n        <maml:description>\n          <maml:para>Lets SharePoint issue a special cookie that will allow this feature to work even when \"Keep Me Signed In\" is not selected.\n\n\"Open with Explorer\" requires persisted cookies to operate correctly.\nWhen the user does not select \"Keep Me Signed in\" at the time of sign -in, \"Open with Explorer\" will fail.\n\nThis special cookie expires after 30 minutes and cannot be cleared by closing the browser or signing out of SharePoint Online.To clear this cookie, the user must log out of their Windows session.\n\nThe valid values are:\nFalse(default) - No special cookie is generated and the normal Office 365 sign -in length / timing applies.\nTrue - Generates a special cookie that will allow \"Open with Explorer\" to function if the \"Keep Me Signed In\" box is not checked at sign -in.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UserVoiceForFeedbackEnabled</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenantSite -Identity https://contoso.sharepoint.com/sites/team1 -LockState NoAccess\nSet-PnPTenant -NoAcessRedirectUrl 'http://www.contoso.com'</dev:code>\n        <maml:remarks>\n          <maml:para>This example blocks access to https://contoso.sharepoint.com/sites/team1 and redirects traffic to http://www.contoso.com.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenant -ShowEveryoneExceptExternalUsersClaim $false</dev:code>\n        <maml:remarks>\n          <maml:para>This example hides the \"Everyone Except External Users\" claim in People Picker.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenant -ShowAllUsersClaim $false</dev:code>\n        <maml:remarks>\n          <maml:para>This example hides the \"All Users\" claim group in People Picker.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenant -UsePersistentCookiesForExplorerView $true</dev:code>\n        <maml:remarks>\n          <maml:para>This example enables the use of special persisted cookie for Open with Explorer.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPTenantCdnEnabled</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nEnables or disabled the public or private Office 365 Content Delivery Network (CDN).</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPTenantCdnEnabled</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Enables or disabled the public or private Office 365 Content Delivery Network (CDN).</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTenantCdnEnabled</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Enable</maml:name>\n          <maml:description>\n            <maml:para>Specify to enable or disable</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CdnType</maml:name>\n          <maml:description>\n            <maml:para>The type of cdn to enable or disable</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">CdnType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CdnType</maml:name>\n        <maml:description>\n          <maml:para>The type of cdn to enable or disable</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">CdnType</command:parameterValue>\n        <dev:type>\n          <maml:name>CdnType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Enable</maml:name>\n        <maml:description>\n          <maml:para>Specify to enable or disable</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenantCdnEnabled -CdnType Public -Enable $true</dev:code>\n        <maml:remarks>\n          <maml:para>This example sets the Public CDN enabled.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPTenantCdnPolicy</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSets the CDN Policies for the specified CDN (Public | Private).</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPTenantCdnPolicy</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets the CDN Policies for the specified CDN (Public | Private).</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTenantCdnPolicy</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>CdnType</maml:name>\n          <maml:description>\n            <maml:para>The type of cdn to retrieve the policies from</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PolicyType</maml:name>\n          <maml:description>\n            <maml:para>The type of the policy to set</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOTenantCdnPolicyType</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PolicyValue</maml:name>\n          <maml:description>\n            <maml:para>The value of the policy to set</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>CdnType</maml:name>\n        <maml:description>\n          <maml:para>The type of cdn to retrieve the policies from</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SPOTenantCdnType</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOTenantCdnType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PolicyType</maml:name>\n        <maml:description>\n          <maml:para>The type of the policy to set</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SPOTenantCdnPolicyType</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOTenantCdnPolicyType</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PolicyValue</maml:name>\n        <maml:description>\n          <maml:para>The value of the policy to set</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenantCdnPolicy -CdnType Public -PolicyType IncludeFileExtensions -PolicyValue \"CSS,EOT,GIF,ICO,JPEG,JPG,JS,MAP,PNG,SVG,TTF,WOFF\"</dev:code>\n        <maml:remarks>\n          <maml:para>This example sets the IncludeFileExtensions policy to the specified value.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPTenantSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSet site information.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPTenantSite</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets site properties for existing sites.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTenantSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>Specifies the URL of the site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para>Specifies the title of the site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Sharing</maml:name>\n          <maml:description>\n            <maml:para>Specifies what the sharing capablilites are for the site. Possible values: Disabled, ExternalUserSharingOnly, ExternalUserAndGuestSharing, ExistingExternalUserSharingOnly</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SharingCapabilities</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StorageMaximumLevel</maml:name>\n          <maml:description>\n            <maml:para>Specifies the storage quota for this site collection in megabytes. This value must not exceed the company's available quota.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int64</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StorageWarningLevel</maml:name>\n          <maml:description>\n            <maml:para>Specifies the warning level for the storage quota in megabytes. This value must not exceed the values set for the StorageMaximumLevel parameter</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int64</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UserCodeMaximumLevel</maml:name>\n          <maml:description>\n            <maml:para>Specifies the quota for this site collection in Sandboxed Solutions units. This value must not exceed the company's aggregate available Sandboxed Solutions quota. The default value is 0. For more information, see Resource Usage Limits on Sandboxed Solutions in SharePoint 2010 : http://msdn.microsoft.com/en-us/library/gg615462.aspx.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Double</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UserCodeWarningLevel</maml:name>\n          <maml:description>\n            <maml:para>Specifies the warning level for the resource quota. This value must not exceed the value set for the UserCodeMaximumLevel parameter</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Double</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AllowSelfServiceUpgrade</maml:name>\n          <maml:description>\n            <maml:para>Specifies if the site administrator can upgrade the site collection</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Owners</maml:name>\n          <maml:description>\n            <maml:para>Specifies owner(s) to add as site collection adminstrators. They will be added as additional site collection administrators. Existing administrators will stay. Can be both users and groups.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LockState</maml:name>\n          <maml:description>\n            <maml:para>Sets the lockstate of a site</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SiteLockState</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>NoScriptSite</maml:name>\n          <maml:description>\n            <maml:para>Specifies if a site allows custom script or not. See https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f for more information.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Wait</maml:name>\n          <maml:description>\n            <maml:para>Wait for the operation to complete</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AllowSelfServiceUpgrade</maml:name>\n        <maml:description>\n          <maml:para>Specifies if the site administrator can upgrade the site collection</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>LockState</maml:name>\n        <maml:description>\n          <maml:para>Sets the lockstate of a site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SiteLockState</command:parameterValue>\n        <dev:type>\n          <maml:name>SiteLockState</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>NoScriptSite</maml:name>\n        <maml:description>\n          <maml:para>Specifies if a site allows custom script or not. See https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f for more information.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Owners</maml:name>\n        <maml:description>\n          <maml:para>Specifies owner(s) to add as site collection adminstrators. They will be added as additional site collection administrators. Existing administrators will stay. Can be both users and groups.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Sharing</maml:name>\n        <maml:description>\n          <maml:para>Specifies what the sharing capablilites are for the site. Possible values: Disabled, ExternalUserSharingOnly, ExternalUserAndGuestSharing, ExistingExternalUserSharingOnly</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SharingCapabilities</command:parameterValue>\n        <dev:type>\n          <maml:name>SharingCapabilities</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StorageMaximumLevel</maml:name>\n        <maml:description>\n          <maml:para>Specifies the storage quota for this site collection in megabytes. This value must not exceed the company's available quota.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int64</command:parameterValue>\n        <dev:type>\n          <maml:name>Int64</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StorageWarningLevel</maml:name>\n        <maml:description>\n          <maml:para>Specifies the warning level for the storage quota in megabytes. This value must not exceed the values set for the StorageMaximumLevel parameter</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int64</command:parameterValue>\n        <dev:type>\n          <maml:name>Int64</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para>Specifies the title of the site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>Specifies the URL of the site</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UserCodeMaximumLevel</maml:name>\n        <maml:description>\n          <maml:para>Specifies the quota for this site collection in Sandboxed Solutions units. This value must not exceed the company's aggregate available Sandboxed Solutions quota. The default value is 0. For more information, see Resource Usage Limits on Sandboxed Solutions in SharePoint 2010 : http://msdn.microsoft.com/en-us/library/gg615462.aspx.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Double</command:parameterValue>\n        <dev:type>\n          <maml:name>Double</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UserCodeWarningLevel</maml:name>\n        <maml:description>\n          <maml:para>Specifies the warning level for the resource quota. This value must not exceed the value set for the UserCodeMaximumLevel parameter</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Double</command:parameterValue>\n        <dev:type>\n          <maml:name>Double</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Wait</maml:name>\n        <maml:description>\n          <maml:para>Wait for the operation to complete</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenantSite -Url https://contoso.sharepoint.com -Title \"Contoso Website\" -Sharing Disabled</dev:code>\n        <maml:remarks>\n          <maml:para>This will set the title of the site collection with the URL 'https://contoso.sharepoint.com' to 'Contoso Website' and disable sharing on this site collection.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenantSite -Url https://contoso.sharepoint.com -Title \"Contoso Website\" -StorageWarningLevel 8000 -StorageMaximumLevel 10000</dev:code>\n        <maml:remarks>\n          <maml:para>This will set the title of the site collection with the URL 'https://contoso.sharepoint.com' to 'Contoso Website', set the storage warning level to 8GB and set the storage maximum level to 10GB.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenantSite -Url https://contoso.sharepoint.com/sites/sales -Owners \"user@contoso.onmicrosoft.com\"</dev:code>\n        <maml:remarks>\n          <maml:para>This will add user@contoso.onmicrosoft.com as an additional site collection owner at 'https://contoso.sharepoint.com/sites/sales'.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenantSite -Url https://contoso.sharepoint.com/sites/sales -Owners @(\"user1@contoso.onmicrosoft.com\", \"user2@contoso.onmicrosoft.com\")</dev:code>\n        <maml:remarks>\n          <maml:para>This will add user1@contoso.onmicrosoft.com and user2@contoso.onmicrosoft.com as additional site collection owners at 'https://contoso.sharepoint.com/sites/sales'.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTenantSite -Url https://contoso.sharepoint.com/sites/sales -NoScriptSite:$false</dev:code>\n        <maml:remarks>\n          <maml:para>This will enable script support for the site 'https://contoso.sharepoint.com/sites/sales' if disabled.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPTheme</command:name>\n      <maml:description>\n        <maml:para>Sets the theme of the current web.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPTheme</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para> Sets the theme of the current web, if any of the attributes is not set, that value will be set to null</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTheme</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ColorPaletteUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Color Palette Url based on the site or server relative url</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>FontSchemeUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Font Scheme Url based on the site or server relative url</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>BackgroundImageUrl</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Background Image Url based on the site or server relative url</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ResetSubwebsToInherit</maml:name>\n          <maml:description>\n            <maml:para>Resets subwebs to inherit the theme from the rootweb</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UpdateRootWebOnly</maml:name>\n          <maml:description>\n            <maml:para>Updates only the rootweb, even if subwebs are set to inherit the theme.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>BackgroundImageUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Background Image Url based on the site or server relative url</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ColorPaletteUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Color Palette Url based on the site or server relative url</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>FontSchemeUrl</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Font Scheme Url based on the site or server relative url</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ResetSubwebsToInherit</maml:name>\n        <maml:description>\n          <maml:para>Resets subwebs to inherit the theme from the rootweb</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UpdateRootWebOnly</maml:name>\n        <maml:description>\n          <maml:para>Updates only the rootweb, even if subwebs are set to inherit the theme.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTheme</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the current theme and resets it to the default.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTheme -ColorPaletteUrl _catalogs/theme/15/company.spcolor</dev:code>\n        <maml:remarks>\n          <maml:para />\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTheme -ColorPaletteUrl _catalogs/theme/15/company.spcolor -BackgroundImageUrl 'style library/background.png'</dev:code>\n        <maml:remarks>\n          <maml:para />\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTheme -ColorPaletteUrl _catalogs/theme/15/company.spcolor -BackgroundImageUrl 'style library/background.png' -ResetSubwebsToInherit</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the theme to the web, and updates all subwebs to inherit the theme from this web.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPTraceLog</command:name>\n      <maml:description>\n        <maml:para>Turn log tracing on or off</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPTraceLog</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Defines if tracing should be turned on. PnP Core, which is the foundation of these cmdlets, uses the standard Trace functionality of .NET. With this cmdlet you can turn capturing of this trace to a log file on or off. Notice that basically only the Provisioning Engine writes to the tracelog which means that cmdlets related to the engine will produce output.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTraceLog</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>On</maml:name>\n          <maml:description>\n            <maml:para>Turn on tracing to log file</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>LogFile</maml:name>\n          <maml:description>\n            <maml:para>The path and filename of the file to write the trace log to.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Level</maml:name>\n          <maml:description>\n            <maml:para>The level of events to capture. Possible values are 'Debug', 'Error', 'Warning', 'Information'. Defaults to 'Information'.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">LogLevel</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Delimiter</maml:name>\n          <maml:description>\n            <maml:para>If specified the trace log entries will be delimited with this value.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IndentSize</maml:name>\n          <maml:description>\n            <maml:para>Indents in the tracelog will be with this amount of characters. Defaults to 4.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AutoFlush</maml:name>\n          <maml:description>\n            <maml:para>Auto flush the trace log. Defaults to true.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPTraceLog</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Off</maml:name>\n          <maml:description>\n            <maml:para>Turn off tracing to log file.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AutoFlush</maml:name>\n        <maml:description>\n          <maml:para>Auto flush the trace log. Defaults to true.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Delimiter</maml:name>\n        <maml:description>\n          <maml:para>If specified the trace log entries will be delimited with this value.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IndentSize</maml:name>\n        <maml:description>\n          <maml:para>Indents in the tracelog will be with this amount of characters. Defaults to 4.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Level</maml:name>\n        <maml:description>\n          <maml:para>The level of events to capture. Possible values are 'Debug', 'Error', 'Warning', 'Information'. Defaults to 'Information'.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">LogLevel</command:parameterValue>\n        <dev:type>\n          <maml:name>LogLevel</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>LogFile</maml:name>\n        <maml:description>\n          <maml:para>The path and filename of the file to write the trace log to.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Off</maml:name>\n        <maml:description>\n          <maml:para>Turn off tracing to log file.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>On</maml:name>\n        <maml:description>\n          <maml:para>Turn on tracing to log file</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTraceLog -On -LogFile traceoutput.txt</dev:code>\n        <maml:remarks>\n          <maml:para>This turns on trace logging to the file 'traceoutput.txt' and will capture events of at least 'Information' level.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTraceLog -On -LogFile traceoutput.txt -Level Debug</dev:code>\n        <maml:remarks>\n          <maml:para>This turns on trace logging to the file 'traceoutput.txt' and will capture debug events.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTraceLog -On -LogFile traceoutput.txt -Level Debug -Delimiter \",\"</dev:code>\n        <maml:remarks>\n          <maml:para>This turns on trace logging to the file 'traceoutput.txt' and will write the entries as comma separated. Debug events are captured.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPTraceLog -Off</dev:code>\n        <maml:remarks>\n          <maml:para>This turns off trace logging. It will flush any remaining messages to the log file.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPUnifiedGroup</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSets Office 365 Group (aka Unified Group) properties</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPUnifiedGroup</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPUnifiedGroup</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Identity of the Office 365 Group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">UnifiedGroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DisplayName</maml:name>\n          <maml:description>\n            <maml:para>The DisplayName of the group to set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para>The Description of the group to set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Owners</maml:name>\n          <maml:description>\n            <maml:para>The array UPN values of owners to add to the group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Members</maml:name>\n          <maml:description>\n            <maml:para>The array UPN values of members to add to the group.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>IsPrivate</maml:name>\n          <maml:description>\n            <maml:para>Makes the group private when selected.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>GroupLogoPath</maml:name>\n          <maml:description>\n            <maml:para>The path to the logo file of to set.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para>The Description of the group to set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DisplayName</maml:name>\n        <maml:description>\n          <maml:para>The DisplayName of the group to set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>GroupLogoPath</maml:name>\n        <maml:description>\n          <maml:para>The path to the logo file of to set.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Identity of the Office 365 Group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">UnifiedGroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>UnifiedGroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>IsPrivate</maml:name>\n        <maml:description>\n          <maml:para>Makes the group private when selected.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Members</maml:name>\n        <maml:description>\n          <maml:para>The array UPN values of members to add to the group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Owners</maml:name>\n        <maml:description>\n          <maml:para>The array UPN values of owners to add to the group.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPUnifiedGroup -Identity $group -DisplayName \"My Displayname\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the display name of the group where $group is a Group entity</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPUnifiedGroup -Identity $groupId -Descriptions \"My Description\" -DisplayName \"My DisplayName\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the display name and description of a group based upon its ID</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPUnifiedGroup -Identity $group -GroupLogoPath \".\\MyLogo.png\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets a specific Office 365 Group logo.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPUnifiedGroup -Identity $group -IsPrivate:$false</dev:code>\n        <maml:remarks>\n          <maml:para>Sets a group to be Public if previously Private.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 5---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPUnifiedGroup -Identity $group -Owners demo@contoso.com</dev:code>\n        <maml:remarks>\n          <maml:para>Adds demo@contoso.com as an additional owner to the group.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPUserProfileProperty</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nOffice365 only: Uses the tenant API to retrieve site information.\n\nYou must connect to the tenant admin website (https://:&lt;tenant&gt;-admin.sharepoint.com) with Connect-PnPOnline in order to use this command. \n</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPUserProfileProperty</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Requires a connection to a SharePoint Tenant Admin site.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPUserProfileProperty</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Value</maml:name>\n          <maml:description>\n            <maml:para>The value to set in the case of a single value property</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Account</maml:name>\n          <maml:description>\n            <maml:para>The account of the user, formatted either as a login name, or as a claims identity, e.g. i:0#.f|membership|user@domain.com</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PropertyName</maml:name>\n          <maml:description>\n            <maml:para>The property to set, for instance SPS-Skills or SPS-Location</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPUserProfileProperty</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Values</maml:name>\n          <maml:description>\n            <maml:para>The values set in the case of a multi value property, e.g. \"Value 1\",\"Value 2\"</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Account</maml:name>\n          <maml:description>\n            <maml:para>The account of the user, formatted either as a login name, or as a claims identity, e.g. i:0#.f|membership|user@domain.com</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PropertyName</maml:name>\n          <maml:description>\n            <maml:para>The property to set, for instance SPS-Skills or SPS-Location</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Account</maml:name>\n        <maml:description>\n          <maml:para>The account of the user, formatted either as a login name, or as a claims identity, e.g. i:0#.f|membership|user@domain.com</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PropertyName</maml:name>\n        <maml:description>\n          <maml:para>The property to set, for instance SPS-Skills or SPS-Location</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Value</maml:name>\n        <maml:description>\n          <maml:para>The value to set in the case of a single value property</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Values</maml:name>\n        <maml:description>\n          <maml:para>The values set in the case of a multi value property, e.g. \"Value 1\",\"Value 2\"</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPUserProfileProperty -Account 'user@domain.com' -Property 'SPS-Location' -Value 'Stockholm'</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the SPS-Location property for the user as specified by the Account parameter</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPUserProfileProperty -Account 'user@domain.com' -Property 'MyProperty' -Values 'Value 1','Value 2'</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the MyProperty multi value property for the user as specified by the Account parameter</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPView</command:name>\n      <maml:description>\n        <maml:para>Change view properties</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPView</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets one or more properties of an existing view.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPView</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Id, Title or instance of the view</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ViewPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Values</maml:name>\n          <maml:description>\n            <maml:para>Hashtable of properties to update on the view. Use the syntax @{property1=\"value\";property2=\"value\"}.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The Id, Title or Url of the list</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Id, Title or instance of the view</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ViewPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ViewPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The Id, Title or Url of the list</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Values</maml:name>\n        <maml:description>\n          <maml:para>Hashtable of properties to update on the view. Use the syntax @{property1=\"value\";property2=\"value\"}.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>Microsoft.SharePoint.Client.Field</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPView -List \"Tasks\" -Identity \"All Tasks\" -Values @{JSLink=\"hierarchytaskslist.js|customrendering.js\";Title=\"My view\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Updates the \"All Tasks\" view on list \"Tasks\" to use hierarchytaskslist.js and customrendering.js for the JSLink and changes the title of the view to \"My view\"</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPList -Identity \"Tasks\" | Get-PnPView | Set-PnPView -Values @{JSLink=\"hierarchytaskslist.js|customrendering.js\"}</dev:code>\n        <maml:remarks>\n          <maml:para>Updates all views on list \"Tasks\" to use hierarchytaskslist.js and customrendering.js for the JSLink</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPWeb</command:name>\n      <maml:description>\n        <maml:para>Sets properties on a web</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPWeb</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets properties on a web</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWeb</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SiteLogoUrl</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AlternateCssUrl</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Title</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Description</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MasterUrl</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>CustomMasterUrl</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AlternateCssUrl</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>CustomMasterUrl</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Description</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MasterUrl</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SiteLogoUrl</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Title</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPWebhookSubscription</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nUpdates a Webhook subscription</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPWebhookSubscription</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWebhookSubscription</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Subscription</maml:name>\n          <maml:description>\n            <maml:para>The identity of the Webhook subscription to update</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebhookSubscriptionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The list object or name from which the Webhook subscription will be modified</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>NotificationUrl</maml:name>\n          <maml:description>\n            <maml:para>The URL of the Webhook endpoint that will be notified of the change</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ExpirationDate</maml:name>\n          <maml:description>\n            <maml:para>The date at which the Webhook subscription will expire. (Default: 6 months from today)</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">DateTime</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ExpirationDate</maml:name>\n        <maml:description>\n          <maml:para>The date at which the Webhook subscription will expire. (Default: 6 months from today)</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">DateTime</command:parameterValue>\n        <dev:type>\n          <maml:name>DateTime</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The list object or name from which the Webhook subscription will be modified</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>NotificationUrl</maml:name>\n        <maml:description>\n          <maml:para>The URL of the Webhook endpoint that will be notified of the change</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Subscription</maml:name>\n        <maml:description>\n          <maml:para>The identity of the Webhook subscription to update</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WebhookSubscriptionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebhookSubscriptionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>OfficeDevPnP.Core.Entities.WebhookSubscription</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPWebhookSubscription -List MyList -Subscription ea1533a8-ff03-415b-a7b6-517ee50db8b6 -NotificationUrl https://my-func.azurewebsites.net/webhook</dev:code>\n        <maml:remarks>\n          <maml:para>Updates an existing Webhook subscription with the specified id on the list MyList with a new Notification Url</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPWebhookSubscription -List MyList -Subscription ea1533a8-ff03-415b-a7b6-517ee50db8b6 -NotificationUrl https://my-func.azurewebsites.net/webhook -ExpirationDate \"2017-09-01\"</dev:code>\n        <maml:remarks>\n          <maml:para>Updates an existing Webhook subscription with the specified id on the list MyList with a new Notification Url and a new expiration date</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; $subscriptions = Get-PnPWebhookSubscriptions -List MyList\nPS:&gt; $updated = $subscriptions[0]\nPS:&gt; $updated.ExpirationDate = \"2017-10-01\"\nPS:&gt; Set-PnPWebhookSubscription -List MyList -Subscription $updated</dev:code>\n        <maml:remarks>\n          <maml:para>Updates the Webhook subscription from the list MyList with a modified subscription object.\nNote: The date will be converted to Universal Time</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPWebPartProperty</command:name>\n      <maml:description>\n        <maml:para>Sets a web part property</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPWebPartProperty</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWebPartProperty</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Full server relative url of the webpart page, e.g. /sites/demo/sitepages/home.aspx</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The Guid of the webpart</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Key</maml:name>\n          <maml:description>\n            <maml:para>Name of a single property to be set</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Value</maml:name>\n          <maml:description>\n            <maml:para>Value of the property to be set</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">PSObject</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The Guid of the webpart</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Key</maml:name>\n        <maml:description>\n          <maml:para>Name of a single property to be set</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>Full server relative url of the webpart page, e.g. /sites/demo/sitepages/home.aspx</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Value</maml:name>\n        <maml:description>\n          <maml:para>Value of the property to be set</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">PSObject</command:parameterValue>\n        <dev:type>\n          <maml:name>PSObject</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPWebPartProperty -ServerRelativePageUrl /sites/demo/sitepages/home.aspx -Identity ccd2c98a-c9ae-483b-ae72-19992d583914 -Key \"Title\" -Value \"New Title\" </dev:code>\n        <maml:remarks>\n          <maml:para>Sets the title property of the webpart.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPWebPermission</command:name>\n      <maml:description>\n        <maml:para>Set permissions</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPWebPermission</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets web permissions</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWebPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWebPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>User</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWebPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Identity/Id/Web object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWebPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Identity/Id/Web object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>User</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWebPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The site relative url of the web, e.g. 'Subweb1'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Group</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWebPermission</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Url</maml:name>\n          <maml:description>\n            <maml:para>The site relative url of the web, e.g. 'Subweb1'</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>User</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>AddRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be assigned to the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RemoveRole</maml:name>\n          <maml:description>\n            <maml:para>The role that must be removed from the group or user</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>AddRole</maml:name>\n        <maml:description>\n          <maml:para>The role that must be assigned to the group or user</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Group</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">GroupPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GroupPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Identity/Id/Web object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RemoveRole</maml:name>\n        <maml:description>\n          <maml:para>The role that must be removed from the group or user</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Url</maml:name>\n        <maml:description>\n          <maml:para>The site relative url of the web, e.g. 'Subweb1'</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>User</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPWebPermission -Url projectA -User 'user@contoso.com' -AddRole 'Contribute'</dev:code>\n        <maml:remarks>\n          <maml:para>Adds the 'Contribute' permission to the user 'user@contoso.com' for a web, specified by its site relative url</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPWebPermission -Identity 5fecaf67-6b9e-4691-a0ff-518fc9839aa0 -User 'user@contoso.com' -RemoveRole 'Contribute'</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the 'Contribute' permission to the user 'user@contoso.com' for a web, specified by its ID</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPWebTheme</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nSets the theme of the current web.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPWebTheme</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Sets the theme of the current web. * Requires Tenant Administration Rights *</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWebTheme</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>WebUrl</maml:name>\n          <maml:description>\n            <maml:para>The URL of the web to apply the theme to. If not specified it will default to the current web based upon the URL specified with Connect-PnPOnline.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Theme</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Color Palette Url based on the site or server relative url</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ThemePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Theme</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Color Palette Url based on the site or server relative url</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">ThemePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ThemePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>WebUrl</maml:name>\n        <maml:description>\n          <maml:para>The URL of the web to apply the theme to. If not specified it will default to the current web based upon the URL specified with Connect-PnPOnline.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Set-PnPWebTheme -Theme MyTheme</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the theme named \"MyTheme\" to the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Get-PnPTenantTheme -Name \"MyTheme\" | Set-PnPTheme</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the theme named \"MyTheme\" to the current web</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Set-PnPWikiPageContent</command:name>\n      <maml:description>\n        <maml:para>Sets the contents of a wikipage</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Set</command:verb>\n      <command:noun>PnPWikiPageContent</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWikiPageContent</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Content</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Site Relative Page Url</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Set-PnPWikiPageContent</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Path</maml:name>\n          <maml:description>\n            <maml:para />\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>ServerRelativePageUrl</maml:name>\n          <maml:description>\n            <maml:para>Site Relative Page Url</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Content</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Path</maml:name>\n        <maml:description>\n          <maml:para />\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>ServerRelativePageUrl</maml:name>\n        <maml:description>\n          <maml:para>Site Relative Page Url</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Copy-PnPItemProxy</command:name>\n      <maml:description>\n        <maml:para>Proxy cmdlet for using Copy-Item between SharePoint provider and FileSystem provider</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Copy</command:verb>\n      <command:noun>PnPItemProxy</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax />\n    <command:parameters />\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Move-PnPItemProxy</command:name>\n      <maml:description>\n        <maml:para>Proxy cmdlet for using Move-Item between SharePoint provider and FileSystem provider</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Move</command:verb>\n      <command:noun>PnPItemProxy</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax />\n    <command:parameters />\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples />\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Start-PnPWorkflowInstance</command:name>\n      <maml:description>\n        <maml:para>Starts a workflow instance on a list item</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Start</command:verb>\n      <command:noun>PnPWorkflowInstance</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Start-PnPWorkflowInstance</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Subscription</maml:name>\n          <maml:description>\n            <maml:para>The workflow subscription to start</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WorkflowSubscriptionPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"1\">\n          <maml:name>ListItem</maml:name>\n          <maml:description>\n            <maml:para>The list item to start the workflow against</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"1\">\n        <maml:name>ListItem</maml:name>\n        <maml:description>\n          <maml:para>The list item to start the workflow against</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Subscription</maml:name>\n        <maml:description>\n          <maml:para>The workflow subscription to start</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WorkflowSubscriptionPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WorkflowSubscriptionPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Start-PnPWorkflowInstance -Name 'WorkflowName' -ListItem $item </dev:code>\n        <maml:remarks>\n          <maml:para>Starts a workflow instance on the specified list item</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Start-PnPWorkflowInstance -Name 'WorkflowName' -ListItem 2 </dev:code>\n        <maml:remarks>\n          <maml:para>Starts a workflow instance on the specified list item</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Stop-PnPWorkflowInstance</command:name>\n      <maml:description>\n        <maml:para>Stops a workflow instance</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Stop</command:verb>\n      <command:noun>PnPWorkflowInstance</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Stop-PnPWorkflowInstance</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The instance to stop</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WorkflowInstancePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Forcefully terminate the workflow instead of cancelling. Works on errored and non-responsive workflows. Deletes all created tasks. Does not notify participants.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Forcefully terminate the workflow instead of cancelling. Works on errored and non-responsive workflows. Deletes all created tasks. Does not notify participants.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The instance to stop</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">WorkflowInstancePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WorkflowInstancePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Stop-PnPWorkflowInstance -identity $wfInstance</dev:code>\n        <maml:remarks>\n          <maml:para>Stops the workflow Instance</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Submit-PnPSearchQuery</command:name>\n      <maml:description>\n        <maml:para>Executes an arbitrary search query against the SharePoint search index</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Submit</command:verb>\n      <command:noun>PnPSearchQuery</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Submit-PnPSearchQuery</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Query</maml:name>\n          <maml:description>\n            <maml:para>Search query in Keyword Query Language (KQL).</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>StartRow</maml:name>\n          <maml:description>\n            <maml:para>Search result item to start returning the results from. Useful for paging. Leave at 0 to return all results.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MaxResults</maml:name>\n          <maml:description>\n            <maml:para>Maximum amount of search results to return. Default and max per page is 500 search results.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TrimDuplicates</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether near duplicate items should be removed from the search results.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Properties</maml:name>\n          <maml:description>\n            <maml:para>Extra query properties. Can for example be used for Office Graph queries.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Refiners</maml:name>\n          <maml:description>\n            <maml:para>The list of refiners to be returned in a search result.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Culture</maml:name>\n          <maml:description>\n            <maml:para>The locale for the query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>QueryTemplate</maml:name>\n          <maml:description>\n            <maml:para>Specifies the query template that is used at run time to transform the query based on user input.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SelectProperties</maml:name>\n          <maml:description>\n            <maml:para>The list of properties to return in the search results.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RefinementFilters</maml:name>\n          <maml:description>\n            <maml:para>The set of refinement filters used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SortList</maml:name>\n          <maml:description>\n            <maml:para>The list of properties by which the search results are ordered.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RankingModelId</maml:name>\n          <maml:description>\n            <maml:para>The identifier (ID) of the ranking model to use for the query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClientType</maml:name>\n          <maml:description>\n            <maml:para>Specifies the name of the client which issued the query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>HiddenConstraints</maml:name>\n          <maml:description>\n            <maml:para>The keyword query’s hidden constraints.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TimeZoneId</maml:name>\n          <maml:description>\n            <maml:para>The identifier for the search query time zone.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnablePhonetic</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether the phonetic forms of the query terms are used to find matches.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableStemming</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether stemming is enabled.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableQueryRules</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether Query Rules are enabled for this query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SourceId</maml:name>\n          <maml:description>\n            <maml:para>Specifies the identifier (ID or name) of the result source to be used to run the query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Guid</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProcessBestBets</maml:name>\n          <maml:description>\n            <maml:para>Determines whether Best Bets are enabled.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProcessPersonalFavorites</maml:name>\n          <maml:description>\n            <maml:para>Determines whether personal favorites data is processed or not.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RelevantResults</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether only relevant results are returned</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Submit-PnPSearchQuery</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Query</maml:name>\n          <maml:description>\n            <maml:para>Search query in Keyword Query Language (KQL).</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>All</maml:name>\n          <maml:description>\n            <maml:para>Automatically page results until the end to get more than 500. Use with caution!</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TrimDuplicates</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether near duplicate items should be removed from the search results.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Properties</maml:name>\n          <maml:description>\n            <maml:para>Extra query properties. Can for example be used for Office Graph queries.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Refiners</maml:name>\n          <maml:description>\n            <maml:para>The list of refiners to be returned in a search result.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Culture</maml:name>\n          <maml:description>\n            <maml:para>The locale for the query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>QueryTemplate</maml:name>\n          <maml:description>\n            <maml:para>Specifies the query template that is used at run time to transform the query based on user input.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SelectProperties</maml:name>\n          <maml:description>\n            <maml:para>The list of properties to return in the search results.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RefinementFilters</maml:name>\n          <maml:description>\n            <maml:para>The set of refinement filters used.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String[]</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SortList</maml:name>\n          <maml:description>\n            <maml:para>The list of properties by which the search results are ordered.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Hashtable</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RankingModelId</maml:name>\n          <maml:description>\n            <maml:para>The identifier (ID) of the ranking model to use for the query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ClientType</maml:name>\n          <maml:description>\n            <maml:para>Specifies the name of the client which issued the query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>HiddenConstraints</maml:name>\n          <maml:description>\n            <maml:para>The keyword query’s hidden constraints.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>TimeZoneId</maml:name>\n          <maml:description>\n            <maml:para>The identifier for the search query time zone.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnablePhonetic</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether the phonetic forms of the query terms are used to find matches.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableStemming</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether stemming is enabled.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>EnableQueryRules</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether Query Rules are enabled for this query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>SourceId</maml:name>\n          <maml:description>\n            <maml:para>Specifies the identifier (ID or name) of the result source to be used to run the query.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Guid</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProcessBestBets</maml:name>\n          <maml:description>\n            <maml:para>Determines whether Best Bets are enabled.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>ProcessPersonalFavorites</maml:name>\n          <maml:description>\n            <maml:para>Determines whether personal favorites data is processed or not.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Boolean</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>RelevantResults</maml:name>\n          <maml:description>\n            <maml:para>Specifies whether only relevant results are returned</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>All</maml:name>\n        <maml:description>\n          <maml:para>Automatically page results until the end to get more than 500. Use with caution!</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ClientType</maml:name>\n        <maml:description>\n          <maml:para>Specifies the name of the client which issued the query.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Culture</maml:name>\n        <maml:description>\n          <maml:para>The locale for the query.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnablePhonetic</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether the phonetic forms of the query terms are used to find matches.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableQueryRules</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether Query Rules are enabled for this query.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>EnableStemming</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether stemming is enabled.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>HiddenConstraints</maml:name>\n        <maml:description>\n          <maml:para>The keyword query’s hidden constraints.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MaxResults</maml:name>\n        <maml:description>\n          <maml:para>Maximum amount of search results to return. Default and max per page is 500 search results.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ProcessBestBets</maml:name>\n        <maml:description>\n          <maml:para>Determines whether Best Bets are enabled.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>ProcessPersonalFavorites</maml:name>\n        <maml:description>\n          <maml:para>Determines whether personal favorites data is processed or not.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Properties</maml:name>\n        <maml:description>\n          <maml:para>Extra query properties. Can for example be used for Office Graph queries.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Query</maml:name>\n        <maml:description>\n          <maml:para>Search query in Keyword Query Language (KQL).</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>QueryTemplate</maml:name>\n        <maml:description>\n          <maml:para>Specifies the query template that is used at run time to transform the query based on user input.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RankingModelId</maml:name>\n        <maml:description>\n          <maml:para>The identifier (ID) of the ranking model to use for the query.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RefinementFilters</maml:name>\n        <maml:description>\n          <maml:para>The set of refinement filters used.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Refiners</maml:name>\n        <maml:description>\n          <maml:para>The list of refiners to be returned in a search result.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>RelevantResults</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether only relevant results are returned</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SelectProperties</maml:name>\n        <maml:description>\n          <maml:para>The list of properties to return in the search results.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String[]</command:parameterValue>\n        <dev:type>\n          <maml:name>String[]</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SortList</maml:name>\n        <maml:description>\n          <maml:para>The list of properties by which the search results are ordered.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Hashtable</command:parameterValue>\n        <dev:type>\n          <maml:name>Hashtable</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>SourceId</maml:name>\n        <maml:description>\n          <maml:para>Specifies the identifier (ID or name) of the result source to be used to run the query.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Guid</command:parameterValue>\n        <dev:type>\n          <maml:name>Guid</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>StartRow</maml:name>\n        <maml:description>\n          <maml:para>Search result item to start returning the results from. Useful for paging. Leave at 0 to return all results.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TimeZoneId</maml:name>\n        <maml:description>\n          <maml:para>The identifier for the search query time zone.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>TrimDuplicates</maml:name>\n        <maml:description>\n          <maml:para>Specifies whether near duplicate items should be removed from the search results.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Boolean</command:parameterValue>\n        <dev:type>\n          <maml:name>Boolean</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name>List&lt;System.Object&gt;</maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Submit-PnPSearchQuery -Query \"finance\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the top 500 items with the term finance</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Submit-PnPSearchQuery -Query \"Title:Intranet*\" -MaxResults 10</dev:code>\n        <maml:remarks>\n          <maml:para>Returns the top 10 items indexed by SharePoint Search of which the title starts with the word Intranet</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Submit-PnPSearchQuery -Query \"Title:Intranet*\" -All</dev:code>\n        <maml:remarks>\n          <maml:para>Returns absolutely all items indexed by SharePoint Search of which the title starts with the word Intranet</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 4---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Submit-PnPSearchQuery -Query \"Title:Intranet*\" -Refiners \"contentclass,FileType(filter=6/0/*)\"</dev:code>\n        <maml:remarks>\n          <maml:para>Returns absolutely all items indexed by SharePoint Search of which the title starts with the word Intranet, and return refiners for contentclass and FileType managed properties</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Test-PnPListItemIsRecord</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nChecks if a list item is a record</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Test</command:verb>\n      <command:noun>PnPListItemIsRecord</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Test-PnPListItemIsRecord</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>List</maml:name>\n          <maml:description>\n            <maml:para>The ID, Title or Url of the list.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>The ID of the listitem, or actual ListItem object</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListItemPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListItemPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>List</maml:name>\n        <maml:description>\n          <maml:para>The ID, Title or Url of the list.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">ListPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>ListPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Test-PnPListItemAsRecord -List \"Documents\" -Identity 4</dev:code>\n        <maml:remarks>\n          <maml:para>Returns true if the document in the documents library with id 4 is a record</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Uninstall-PnPApp</command:name>\n      <maml:description>\n        <maml:para>Uninstalls an available add-in from the site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Uninstall</command:verb>\n      <command:noun>PnPApp</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Uninstall-PnPApp</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id of the Addin Instance</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Id of the Addin Instance</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>AppMetadataPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Uninstall-PnPApp -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>This will uninstall the specified app from the current site.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Uninstall-PnPAppInstance</command:name>\n      <maml:description>\n        <maml:para>Removes an app from a site</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Uninstall</command:verb>\n      <command:noun>PnPAppInstance</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Removes an add-in/app that has been installed to a site.</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Uninstall-PnPAppInstance</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Appinstance or Id of the addin to remove.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AppPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Force</maml:name>\n          <maml:description>\n            <maml:para>Do not ask for confirmation.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Web</maml:name>\n          <maml:description>\n            <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">WebPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Force</maml:name>\n        <maml:description>\n          <maml:para>Do not ask for confirmation.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SwitchParameter</command:parameterValue>\n        <dev:type>\n          <maml:name>SwitchParameter</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Appinstance or Id of the addin to remove.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">AppPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>AppPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Web</maml:name>\n        <maml:description>\n          <maml:para>This parameter allows you to optionally apply the cmdlet action to a subweb within the current web. In most situations this parameter is not required and you can connect to the subweb using Connect-PnPOnline instead. Specify the GUID, server relative url (i.e. /sites/team1) or web instance of the web to apply the command to. Omit this parameter to use the current web.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">WebPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>WebPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Uninstall-PnPAppInstance -Identity $appinstance</dev:code>\n        <maml:remarks>\n          <maml:para>Uninstalls the app instance which was retrieved with the command Get-PnPAppInstance</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Uninstall-PnPAppInstance -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>Uninstalls the app instance with the ID '99a00f6e-fb81-4dc7-8eac-e09c6f9132fe'</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Uninstall-PnPAppInstance -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe -force</dev:code>\n        <maml:remarks>\n          <maml:para>Uninstalls the app instance with the ID '99a00f6e-fb81-4dc7-8eac-e09c6f9132fe' and do not ask for confirmation</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Uninstall-PnPSolution</command:name>\n      <maml:description>\n        <maml:para>Uninstalls a sandboxed solution from a site collection</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Uninstall</command:verb>\n      <command:noun>PnPSolution</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Uninstall-PnPSolution</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PackageId</maml:name>\n          <maml:description>\n            <maml:para>ID of the solution, from the solution manifest</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>PackageName</maml:name>\n          <maml:description>\n            <maml:para>Filename of the WSP file to uninstall</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MajorVersion</maml:name>\n          <maml:description>\n            <maml:para>Optional major version of the solution, defaults to 1</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>MinorVersion</maml:name>\n          <maml:description>\n            <maml:para>Optional minor version of the solution, defaults to 0</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">Int32</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MajorVersion</maml:name>\n        <maml:description>\n          <maml:para>Optional major version of the solution, defaults to 1</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>MinorVersion</maml:name>\n        <maml:description>\n          <maml:para>Optional minor version of the solution, defaults to 0</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">Int32</command:parameterValue>\n        <dev:type>\n          <maml:name>Int32</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PackageId</maml:name>\n        <maml:description>\n          <maml:para>ID of the solution, from the solution manifest</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">GuidPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>GuidPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>PackageName</maml:name>\n        <maml:description>\n          <maml:para>Filename of the WSP file to uninstall</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Uninstall-PnPSolution -PackageId c2f5b025-7c42-4d3a-b579-41da3b8e7254 -SourceFilePath mypackage.wsp</dev:code>\n        <maml:remarks>\n          <maml:para>Removes the package to the current site</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Unpublish-PnPApp</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nUnpublishes/retracts an available add-in from the app catalog</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Unpublish</command:verb>\n      <command:noun>PnPApp</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Unpublish-PnPApp</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id of the Addin Instance</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Id of the Addin Instance</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>AppMetadataPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Unpublish-PnPApp -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>This will retract, but not remove, the specified app from the app catalog</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Unregister-PnPHubSite</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nUnregisters a site as a hubsite</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Unregister</command:verb>\n      <command:noun>PnPHubSite</command:noun>\n      <dev:version />\n    </command:details>\n    <maml:description>\n      <maml:para>Registers a site as a hubsite</maml:para>\n    </maml:description>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Unregister-PnPHubSite</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Site</maml:name>\n          <maml:description>\n            <maml:para>The site to unregister as a hubsite</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Site</maml:name>\n        <maml:description>\n          <maml:para>The site to unregister as a hubsite</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SitePipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>SitePipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Unregister-PnPHubSite -Site https://tenant.sharepoint.com/sites/myhubsite</dev:code>\n        <maml:remarks>\n          <maml:para>This example unregisters the specified site as a hubsite</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Update-PnPApp</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nUpdates an available app from the app catalog</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Update</command:verb>\n      <command:noun>PnPApp</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Update-PnPApp</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Identity</maml:name>\n          <maml:description>\n            <maml:para>Specifies the Id or an actual app metadata instance</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Connection</maml:name>\n          <maml:description>\n            <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SPOnlineConnection</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Identity</maml:name>\n        <maml:description>\n          <maml:para>Specifies the Id or an actual app metadata instance</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">AppMetadataPipeBind</command:parameterValue>\n        <dev:type>\n          <maml:name>AppMetadataPipeBind</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Connection</maml:name>\n        <maml:description>\n          <maml:para>Optional connection to be used by the cmdlet. Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline or by executing Get-PnPConnection.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">SPOnlineConnection</command:parameterValue>\n        <dev:type>\n          <maml:name>SPOnlineConnection</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Update-PnPApp -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe</dev:code>\n        <maml:remarks>\n          <maml:para>This will update an already installed app if a new version is available. Retrieve a list all available apps and the installed and available versions with Get-PnPApp</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n  <command:command xmlns:maml=\"http://schemas.microsoft.com/maml/2004/10\" xmlns:command=\"http://schemas.microsoft.com/maml/dev/command/2004/10\" xmlns:dev=\"http://schemas.microsoft.com/maml/dev/2004/10\">\n    <command:details>\n      <command:name>Update-PnPSiteClassification</command:name>\n      <maml:description>\n        <maml:para>* Supported in: SharePoint Online.\n\nUpdates Site Classifications for the tenant. Requires a connection to the Microsoft Graph.</maml:para>\n      </maml:description>\n      <maml:copyright>\n        <maml:para />\n      </maml:copyright>\n      <command:verb>Update</command:verb>\n      <command:noun>PnPSiteClassification</command:noun>\n      <dev:version />\n    </command:details>\n    <command:syntax>\n      <command:syntaxItem>\n        <maml:name>Update-PnPSiteClassification</maml:name>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>Classifications</maml:name>\n          <maml:description>\n            <maml:para>A list of classifications, separated by commas. E.g. \"HBI\",\"LBI\",\"Top Secret\"</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>DefaultClassification</maml:name>\n          <maml:description>\n            <maml:para>The default classification to be used. The value needs to be present in the list of possible classifications</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n        <command:parameter required=\"false\" position=\"named\">\n          <maml:name>UsageGuidelinesUrl</maml:name>\n          <maml:description>\n            <maml:para>The UsageGuidelinesUrl. Set to \"\" to clear.</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">String</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n      <command:syntaxItem>\n        <maml:name>Update-PnPSiteClassification</maml:name>\n        <command:parameter required=\"true\" position=\"named\">\n          <maml:name>Settings</maml:name>\n          <maml:description>\n            <maml:para>A settings object retrieved by Get-PnPSiteClassification</maml:para>\n          </maml:description>\n          <command:parameterValue required=\"true\">SiteClassificationsSettings</command:parameterValue>\n        </command:parameter>\n      </command:syntaxItem>\n    </command:syntax>\n    <command:parameters>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>Classifications</maml:name>\n        <maml:description>\n          <maml:para>A list of classifications, separated by commas. E.g. \"HBI\",\"LBI\",\"Top Secret\"</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>DefaultClassification</maml:name>\n        <maml:description>\n          <maml:para>The default classification to be used. The value needs to be present in the list of possible classifications</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"true\" position=\"named\">\n        <maml:name>Settings</maml:name>\n        <maml:description>\n          <maml:para>A settings object retrieved by Get-PnPSiteClassification</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"true\">SiteClassificationsSettings</command:parameterValue>\n        <dev:type>\n          <maml:name>SiteClassificationsSettings</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n      <command:parameter required=\"false\" position=\"named\">\n        <maml:name>UsageGuidelinesUrl</maml:name>\n        <maml:description>\n          <maml:para>The UsageGuidelinesUrl. Set to \"\" to clear.</maml:para>\n        </maml:description>\n        <command:parameterValue required=\"false\">String</command:parameterValue>\n        <dev:type>\n          <maml:name>String</maml:name>\n          <maml:uri />\n        </dev:type>\n      </command:parameter>\n    </command:parameters>\n    <command:returnValues>\n      <command:returnValue>\n        <dev:type>\n          <maml:name></maml:name>\n          <maml:uri />\n          <maml:description>\n            <maml:para></maml:para>\n          </maml:description>\n        </dev:type>\n      </command:returnValue>\n    </command:returnValues>\n    <command:examples>\n      <command:example>\n        <maml:title>------------------EXAMPLE 1---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Update-PnPSiteClassification -Classifications \"HBI\",\"Top Secret\"</dev:code>\n        <maml:remarks>\n          <maml:para>Replaces the existing values of the site classification settings</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 2---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Update-PnPSiteClassification -DefaultClassification \"LBI\"</dev:code>\n        <maml:remarks>\n          <maml:para>Sets the default classification value to \"LBI\". This value needs to be present in the list of classification values.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n      <command:example>\n        <maml:title>------------------EXAMPLE 3---------------------</maml:title>\n        <maml:introduction>\n          <maml:para />\n        </maml:introduction>\n        <dev:code>PS:&gt; Connect-PnPOnline -Scopes \"Directory.ReadWrite.All\"\nPS:&gt; Update-PnPSiteClassification -UsageGuidelinesUrl http://aka.ms/sppnp</dev:code>\n        <maml:remarks>\n          <maml:para>sets the usage guideliness URL to the specified URL.</maml:para>\n          <maml:para></maml:para>\n        </maml:remarks>\n        <command:commandLines>\n          <command:commandLine>\n            <command:commandText />\n          </command:commandLine>\n        </command:commandLines>\n      </command:example>\n    </command:examples>\n    <maml:relatedLinks>\n      <maml:navigationLink>\n        <maml:linkText>SharePoint Developer Patterns and Practices:</maml:linkText>\n        <maml:uri>http://aka.ms/sppnp</maml:uri>\n      </maml:navigationLink>\n    </maml:relatedLinks>\n  </command:command>\n</helpItems>"
  },
  {
    "path": "assets/functions/applyportaltemplate/modules/SharePointPnPPowerShellOnline/SharePointPnPPowerShellOnline.psd1",
    "content": "﻿@{\n    RootModule = 'SharePointPnP.PowerShell.Online.Commands.dll'\n    ModuleVersion = '2.25.1804.0'\n    Description = 'SharePoint Patterns and Practices PowerShell Cmdlets for SharePoint Online'\n    GUID = '8f1147be-a8e4-4bd2-a705-841d5334edc0'\n    Author = 'SharePoint Patterns and Practices'\n    CompanyName = 'SharePoint Patterns and Practices'\n    DotNetFrameworkVersion = '4.5'\n    ProcessorArchitecture = 'None'\n    FunctionsToExport = '*'\n    CmdletsToExport = 'Add-PnPApp','Add-PnPClientSidePage','Add-PnPClientSidePageSection','Add-PnPClientSideText','Add-PnPClientSideWebPart','Add-PnPContentType','Add-PnPContentTypeToDocumentSet','Add-PnPContentTypeToList','Add-PnPCustomAction','Add-PnPDataRowsToProvisioningTemplate','Add-PnPDocumentSet','Add-PnPEventReceiver','Add-PnPField','Add-PnPFieldFromXml','Add-PnPFieldToContentType','Add-PnPFile','Add-PnPFileToProvisioningTemplate','Add-PnPFolder','Add-PnPHtmlPublishingPageLayout','Add-PnPHubSiteAssociation','Add-PnPIndexedProperty','Add-PnPJavaScriptBlock','Add-PnPJavaScriptLink','Add-PnPListFoldersToProvisioningTemplate','Add-PnPListItem','Add-PnPMasterPage','Add-PnPNavigationNode','Test-PnPOffice365GroupAliasIsUsed','Add-PnPOffice365GroupToSite','Add-PnPPublishingImageRendition','Add-PnPPublishingPage','Add-PnPPublishingPageLayout','Add-PnPRoleDefinition','Add-PnPSiteClassification','Add-PnPSiteCollectionAdmin','Add-PnPSiteCollectionAppCatalog','Add-PnPSiteDesign','Add-PnPSiteScript','Add-PnPStoredCredential','Add-PnPTaxonomyField','Add-PnPTenantCdnOrigin','Add-PnPTenantTheme','Add-PnPUserToGroup','Add-PnPView','Add-PnPWebhookSubscription','Add-PnPWebPartToWebPartPage','Add-PnPWebPartToWikiPage','Add-PnPWikiPage','Add-PnPWorkflowDefinition','Add-PnPWorkflowSubscription','Apply-PnPProvisioningTemplate','Set-PnPSitePolicy','Clear-PnPListItemAsRecord','Clear-PnPRecycleBinItem','Clear-PnPTenantRecycleBinItem','Connect-PnPOnline','Connect-PnPMicrosoftGraph','Convert-PnPProvisioningTemplate','Convert-PnPFolderToProvisioningTemplate','Copy-PnPFile','Disable-PnPFeature','Disable-PnPInPlaceRecordsManagementForSite','Disable-PnPResponsiveUI','Disable-PnPSiteClassification','Disconnect-PnPOnline','Enable-PnPFeature','Enable-PnPInPlaceRecordsManagementForSite','Enable-PnPResponsiveUI','Enable-PnPSiteClassification','Get-PnPProperty','Export-PnPTaxonomy','Export-PnPTermGroupToXml','Find-PnPFile','Get-PnPApp','Get-PnPAppInstance','Get-PnPAuditing','Get-PnPAuthenticationRealm','Get-PnPAvailableClientSideComponents','Get-PnPAzureADManifestKeyCredentials','Get-PnPClientSideComponent','Get-PnPClientSidePage','Get-PnPContentType','Get-PnPContentTypePublishingHubUrl','Get-PnPCustomAction','Get-PnPDefaultColumnValues','Get-PnPDocumentSetTemplate','Get-PnPEventReceiver','Get-PnPFeature','Get-PnPField','Get-PnPFile','Get-PnPFolder','Get-PnPFolderItem','Get-PnPGroup','Get-PnPGroupMembers','Get-PnPGroupPermissions','Get-PnPHealthScore','Get-PnPHideDefaultThemes','Get-PnPHomePage','Get-PnPHubSite','Get-PnPHubSiteNavigation','Get-PnPIndexedPropertyKeys','Get-PnPInPlaceRecordsManagement','Get-PnPJavaScriptLink','Get-PnPList','Get-PnPListInformationRightsManagement','Get-PnPListItem','Get-PnPListRecordDeclaration','Get-PnPMasterPage','Get-PnPNavigationNode','Get-PnPAccessToken','Get-PnPAzureCertificate','Get-PnPAppAuthAccessToken','Get-PnPConnection','Get-PnPSiteCollectionTermStore','Get-PnPStorageEntity','Get-PnPPropertyBag','Get-PnPProvisioningTemplate','Get-PnPProvisioningTemplateFromGallery','Get-PnPPublishingImageRendition','Get-PnPRecycleBinItem','Get-PnPRequestAccessEmails','Get-PnPRoleDefinition','Get-PnPSearchConfiguration','Get-PnPSite','Get-PnPSiteClassification','Get-PnPSiteClosure','Get-PnPSiteCollectionAdmin','Get-PnPSiteDesign','Get-PnPSiteDesignRights','Get-PnPSitePolicy','Get-PnPSiteScript','Get-PnPSiteSearchQueryResults','Get-PnPContext','Get-PnPStoredCredential','Get-PnPSubWebs','Get-PnPTaxonomyItem','Get-PnPTaxonomySession','Get-PnPTenant','Get-PnPTenantAppCatalogUrl','Get-PnPTenantCdnEnabled','Get-PnPTenantCdnOrigin','Get-PnPTenantCdnPolicies','Get-PnPTenantRecycleBinItem','Get-PnPTenantSite','Get-PnPTenantTheme','Get-PnPTerm','Get-PnPTermGroup','Get-PnPTermSet','Get-PnPTheme','Get-PnPTimeZoneId','Get-PnPUnifiedGroup','Get-PnPUnifiedGroupMembers','Get-PnPUnifiedGroupOwners','Get-PnPUser','Get-PnPUserProfileProperty','Get-PnPView','Get-PnPWeb','Get-PnPWebhookSubscriptions','Get-PnPWebPart','Get-PnPWebPartProperty','Get-PnPWebPartXml','Get-PnPWebTemplates','Get-PnPWikiPageContent','Get-PnPWorkflowDefinition','Get-PnPWorkflowInstance','Get-PnPWorkflowSubscription','Grant-PnPHubSiteRights','Grant-PnPSiteDesignRights','Import-PnPAppPackage','Import-PnPTaxonomy','Import-PnPTermGroupFromXml','Import-PnPTermSet','Install-PnPApp','Install-PnPSolution','Invoke-PnPQuery','Invoke-PnPSiteDesign','Invoke-PnPWebAction','Measure-PnPList','Measure-PnPWeb','Measure-PnPResponseTime','Move-PnPClientSideComponent','Move-PnPFile','Move-PnPFolder','Move-PnPListItemToRecycleBin','Move-PnPRecycleBinItem','New-PnPExtensibilityHandlerObject','New-PnPGroup','New-PnPList','New-PnPPersonalSite','New-PnPAzureCertificate','New-PnPUnifiedGroup','New-PnPProvisioningTemplate','New-PnPProvisioningTemplateFromFolder','New-PnPSite','New-PnPTenantSite','New-PnPTerm','New-PnPTermGroup','New-PnPTermSet','New-PnPUser','New-PnPWeb','Publish-PnPApp','Read-PnPProvisioningTemplate','Register-PnPHubSite','Remove-PnPApp','Remove-PnPClientSideComponent','Remove-PnPClientSidePage','Remove-PnPContentType','Remove-PnPContentTypeFromDocumentSet','Remove-PnPContentTypeFromList','Remove-PnPCustomAction','Remove-PnPIndexedProperty','Remove-PnPEventReceiver','Remove-PnPField','Remove-PnPFieldFromContentType','Remove-PnPFile','Remove-PnPFileFromProvisioningTemplate','Remove-PnPFolder','Remove-PnPGroup','Remove-PnPHubSiteAssociation','Remove-PnPJavaScriptLink','Remove-PnPList','Remove-PnPListItem','Remove-PnPNavigationNode','Remove-PnPStorageEntity','Remove-PnPPropertyBagValue','Remove-PnPPublishingImageRendition','Remove-PnPRoleDefinition','Remove-PnPTenantSite','Remove-PnPSiteClassification','Remove-PnPSiteCollectionAdmin','Remove-PnPSiteCollectionAppCatalog','Remove-PnPSiteDesign','Remove-PnPSiteScript','Remove-PnPStoredCredential','Remove-PnPTaxonomyItem','Remove-PnPTenantCdnOrigin','Remove-PnPTenantTheme','Remove-PnPTermGroup','Remove-PnPUnifiedGroup','Remove-PnPUser','Remove-PnPUserFromGroup','Remove-PnPView','Remove-PnPWeb','Remove-PnPWebhookSubscription','Remove-PnPWebPart','Remove-PnPWikiPage','Remove-PnPWorkflowDefinition','Remove-PnPWorkflowSubscription','Rename-PnPFile','Rename-PnPFolder','Request-PnPReIndexList','Request-PnPReIndexWeb','Resolve-PnPFolder','Restore-PnPRecycleBinItem','Restore-PnPTenantRecycleBinItem','Resume-PnPWorkflowInstance','Revoke-PnPSiteDesignRights','Save-PnPProvisioningTemplate','Send-PnPMail','Set-PnPAppSideLoading','Set-PnPAuditing','Set-PnPAvailablePageLayouts','Set-PnPClientSidePage','Set-PnPClientSideText','Set-PnPClientSideWebPart','Set-PnPContext','Set-PnPDefaultColumnValues','Set-PnPDefaultContentTypeToList','Set-PnPDefaultPageLayout','Set-PnPField','Set-PnPDocumentSetField','Set-PnPFileCheckedIn','Set-PnPFileCheckedOut','Set-PnPGroup','Set-PnPGroupPermissions','Set-PnPHideDefaultThemes','Set-PnPHomePage','Set-PnPHubSite','Set-PnPIndexedProperties','Set-PnPInPlaceRecordsManagement','Set-PnPList','Set-PnPListInformationRightsManagement','Set-PnPListItem','Set-PnPListItemAsRecord','Set-PnPListItemPermission','Set-PnPListPermission','Set-PnPListRecordDeclaration','Set-PnPMasterPage','Set-PnPMinimalDownloadStrategy','Set-PnPStorageEntity','Set-PnPPropertyBagValue','Set-PnPProvisioningTemplateMetadata','Set-PnPRequestAccessEmails','Set-PnPSearchConfiguration','Set-PnPSite','Set-PnPSiteClosure','Set-PnPSiteDesign','Set-PnPSiteScript','Set-PnPTaxonomyFieldValue','Set-PnPTenant','Set-PnPTenantCdnEnabled','Set-PnPTenantCdnPolicy','Set-PnPTenantSite','Set-PnPTheme','Set-PnPTraceLog','Set-PnPUnifiedGroup','Set-PnPUserProfileProperty','Set-PnPView','Set-PnPWeb','Set-PnPWebhookSubscription','Set-PnPWebPartProperty','Set-PnPWebPermission','Set-PnPWebTheme','Set-PnPWikiPageContent','Copy-PnPItemProxy','Move-PnPItemProxy','Start-PnPWorkflowInstance','Stop-PnPWorkflowInstance','Submit-PnPSearchQuery','Test-PnPListItemIsRecord','Uninstall-PnPApp','Uninstall-PnPAppInstance','Uninstall-PnPSolution','Unpublish-PnPApp','Unregister-PnPHubSite','Update-PnPApp','Update-PnPSiteClassification'\n    VariablesToExport = '*'\n    AliasesToExport = '*'\n    FormatsToProcess = 'SharePointPnP.PowerShell.Online.Commands.Format.ps1xml' \n    PrivateData = @{\n        PSData = @{\n            ProjectUri = 'https://aka.ms/sppnp'\n            IconUri = 'https://raw.githubusercontent.com/SharePoint/PnP-PowerShell/master/Commands/Resources/pnp.ico'\n        }\n    }\n}"
  },
  {
    "path": "assets/functions/applyportaltemplate/modules/SharePointPnPPowerShellOnline/SharePointPnPPowerShellOnlineAliases.psm1",
    "content": "Set-Alias -Name New-PnPSiteCollection -Value New-PnPTenantSite\n"
  },
  {
    "path": "assets/functions/applyportaltemplate/portal.xml",
    "content": "<pnp:Provisioning xmlns:pnp=\"http://schemas.dev.office.com/PnP/2018/01/ProvisioningSchema\">\n  <pnp:Preferences Generator=\"OfficeDevPnP.Core, Version=2.21.1712.2, Culture=neutral, PublicKeyToken=5e633289e95c321a\">\n    <pnp:Parameters>\n      <pnp:Parameter Key=\"WeatherCity\">Helsinki</pnp:Parameter>\n      <pnp:Parameter Key=\"PortalTitle\">SP Portal Showcase - Helsinki Style</pnp:Parameter>\n      <pnp:Parameter Key=\"StockSymbol\">MSFT</pnp:Parameter>\n    </pnp:Parameters>\n  </pnp:Preferences>\n  <pnp:Templates ID=\"PORTAL-SHOWCASE-TEMPLATES\">\n    <pnp:ProvisioningTemplate ID=\"PORTAL-TEMPLATE\" Version=\"1.0\" BaseSiteTemplate=\"SITEPAGEPUBLISHING#0\" ImagePreviewUrl=\"https://preview.png\" DisplayName=\"SP Portal Showcase\" Description=\"\" Scope=\"RootSite\" TemplateCultureInfo=\"1033\">\n      <pnp:WebSettings WelcomePage=\"SitePages/Home.aspx\" Title=\"SP Portal Showcase\" />\n      <pnp:Security>\n        <pnp:AdditionalAdministrators>\n          <pnp:User Name=\"erwin@officedevpnp.onmicrosoft.com\"/>\n          <pnp:User Name=\"vesaj@officedevpnp.onmicrosoft.com\"/>\n          <pnp:User Name=\"paolo@officedevpnp.onmicrosoft.com\"/>\n          <pnp:User Name=\"elio@officedevpnp.onmicrosoft.com\"/>\n          <pnp:User Name=\"waldek@officedevpnp.onmicrosoft.com\"/>\n          <pnp:User Name=\"bert@officedevpnp.onmicrosoft.com\"/>\n        </pnp:AdditionalAdministrators>\n      </pnp:Security>\n      <pnp:ClientSidePages>\n        <pnp:ClientSidePage PageName=\"Home.aspx\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Sections>\n            <pnp:Section Order=\"1\" Type=\"OneColumnFullWidth\">\n              <pnp:Controls>\n                <!-- Banner -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"ab30ff0a-9241-4d5d-8c6f-1dc07b1d1053\" Order=\"1\" Column=\"1\" JsonControlData=\"{&quot;id&quot;: &quot;ab30ff0a-9241-4d5d-8c6f-1dc07b1d1053&quot;,&quot;instanceId&quot;: &quot;32fc5185-cc86-4010-939c-50e4156026f9&quot;,&quot;title&quot;: &quot;Banner&quot;,&quot;description&quot;: &quot;Renders a banner style presentation with text and image&quot;,&quot;serverProcessedContent&quot;: {&quot;htmlStrings&quot;: {},&quot;searchablePlainTexts&quot;: {&quot;bannerText&quot;: &quot;{parameter:PortalTitle}&quot;},&quot;imageSources&quot;: {&quot;bannerImage&quot;: &quot;{site}/assets/hel2.jpg&quot;},&quot;links&quot;: {                &quot;bannerLink&quot;: &quot;&quot;}}, &quot;dataVersion&quot;: &quot;1.0&quot;,&quot;properties&quot;: {&quot;bannerHeight&quot;: 280,&quot;useParallax&quot;: true}}\" />\n              </pnp:Controls>\n            </pnp:Section>\n            <pnp:Section Order=\"2\" Type=\"ThreeColumn\">\n              <pnp:Controls>\n                <!-- Followed Sites -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"92d5cc6c-fae5-4e91-9583-ab33950f5a8d\" Order=\"1\" Column=\"1\" />\n                <!-- Links -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"e2365185-558d-4b6d-bee8-3490cf04a0a6\" Order=\"1\" Column=\"2\" />\n                 <!-- weatherInformation -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"0f5615e2-b30f-4bc5-b3d7-2fe335ce13d9\" Order=\"1\" Column=\"3\" JsonControlData=\"{&quot;id&quot;:&quot;0f5615e2-b30f-4bc5-b3d7-2fe335ce13d9&quot;,&quot;instanceId&quot;:&quot;21e23e1d-69d7-4aed-8fca-1599d2440477&quot;,&quot;title&quot;:&quot;Weather&quot;,&quot;description&quot;:&quot;Shows weather information for the specified location&quot;,&quot;serverProcessedContent&quot;:{&quot;htmlStrings&quot;:{},&quot;searchablePlainTexts&quot;:{},&quot;imageSources&quot;:{},&quot;links&quot;:{}},&quot;dataVersion&quot;:&quot;1.0&quot;,&quot;properties&quot;:{&quot;location&quot;:&quot;{parameter:WeatherCity}&quot;,&quot;unit&quot;:&quot;c&quot;}}\" />\n              </pnp:Controls>\n            </pnp:Section>\n            <pnp:Section Order=\"3\" Type=\"ThreeColumn\">\n              <pnp:Controls>\n                  <!-- peopleDirectory -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"d9d6f014-3fd9-4fb9-af54-044c7c43e081\" Order=\"1\" Column=\"1\" />\n                <!-- personalCalendar -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"bbcd646e-6b86-4480-a68a-850c98f94519\" Order=\"1\" Column=\"2\" />\n                <!-- personalContacts -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"a95742b9-5e67-4a11-8e51-7a76812a9d60\" Order=\"1\" Column=\"3\" />\n              </pnp:Controls>\n            </pnp:Section>\n            <pnp:Section Order=\"4\" Type=\"ThreeColumn\">\n              <pnp:Controls>\n                <!-- personalEmail -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"ac41debd-d92c-4de0-9d67-e7bc191030ee\" Order=\"1\" Column=\"1\" />\n                <!-- personalTasks -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"ee972022-9937-4b69-9c25-eaf77003f4f9\" Order=\"1\" Column=\"2\" />\n                <!-- recentContacts -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"9a151252-c744-4dc6-94f7-a574dda413d6\" Order=\"1\" Column=\"3\" />\n              </pnp:Controls>\n            </pnp:Section>\n            <pnp:Section Order=\"4\" Type=\"ThreeColumn\">\n              <pnp:Controls>\n                <!-- recentlyUsedDocuments -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"596e3e97-f3ca-4cf9-9b8e-cb852f063356\" Order=\"1\" Column=\"1\" />\n                <!-- recentlyVisitedSites -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"277282d0-debb-42d6-b4b3-30ec543964fd\" Order=\"1\" Column=\"2\" />\n                <!-- siteInformation -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"e2aa860d-ac7b-4a7f-b590-073e62dc9bc0\" Order=\"1\" Column=\"3\" />\n              </pnp:Controls>\n            </pnp:Section>\n            <pnp:Section Order=\"5\" Type=\"ThreeColumn\">\n              <pnp:Controls>\n                <!-- stockInformation -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"50256fc2-a28f-4544-900e-32724d32bc7f\" Order=\"1\" Column=\"1\" JsonControlData=\"{&quot;id&quot;:&quot;50256fc2-a28f-4544-900e-32724d32bc7f&quot;,&quot;instanceId&quot;:&quot;853ce5f5-c750-42d1-badb-78d4781b1f1f&quot;,&quot;title&quot;:&quot;Stock Information&quot;,&quot;description&quot;:&quot;Shows stock information for the specified symbol&quot;,&quot;serverProcessedContent&quot;:{&quot;htmlStrings&quot;:{},&quot;searchablePlainTexts&quot;:{},&quot;imageSources&quot;:{},&quot;links&quot;:{}},&quot;dataVersion&quot;:&quot;1.0&quot;,&quot;properties&quot;:{&quot;stockSymbol&quot;:&quot;{parameter:StockSymbol}&quot;,&quot;autoRefresh&quot;:true}}\" />\n                <!-- worldTime -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"4f87b698-f910-451f-b4ea-7848a472af0f\" Order=\"2\" Column=\"1\" />\n                <!-- tiles -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"26cb4af3-7f48-4737-b82a-4e24167c2d07\" Order=\"1\" Column=\"2\" />\n                <!-- lobIntegration -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"3228280d-0776-432e-a957-5fb31edf8e00\" Order=\"1\" Column=\"3\" />   \n              </pnp:Controls>\n            </pnp:Section>\n          </pnp:Sections>\n        </pnp:ClientSidePage>\n      </pnp:ClientSidePages>\n      <pnp:Lists>\n        <pnp:ListInstance Title=\"Assets\" Description=\"\" DocumentTemplate=\"{site}/Assets/Forms/template.dotx\" TemplateType=\"101\" Url=\"Assets\" MinorVersionLimit=\"0\" MaxVersionLimit=\"0\" DraftVersionVisibility=\"0\" TemplateFeatureID=\"00bfea71-e717-4e80-aa17-d0c71b360101\" EnableAttachments=\"false\" DefaultDisplayFormUrl=\"{site}/Assets/Forms/DispForm.aspx\" DefaultEditFormUrl=\"{site}/Assets/Forms/EditForm.aspx\" DefaultNewFormUrl=\"{site}/Assets/Forms/Upload.aspx\" ImageUrl=\"/_layouts/15/images/itdl.png?rev=44\" IsApplicationList=\"false\" ValidationFormula=\"\" ValidationMessage=\"\">\n          <pnp:ContentTypeBindings>\n            <pnp:ContentTypeBinding ContentTypeID=\"0x0101\" Default=\"true\" />\n            <pnp:ContentTypeBinding ContentTypeID=\"0x0120\" />\n          </pnp:ContentTypeBindings>\n          <pnp:Views>\n            <View Name=\"{7744FFA9-FE4E-4F5F-874B-4D693CC3672F}\" DefaultView=\"TRUE\" MobileView=\"TRUE\" MobileDefaultView=\"TRUE\" Type=\"HTML\" DisplayName=\"All Documents\" Url=\"{site}/Assets/Forms/AllItems.aspx\" Level=\"1\" BaseViewID=\"1\" ContentTypeID=\"0x\" ImageUrl=\"/_layouts/15/images/dlicon.png?rev=44\">\n              <Query>\n                <OrderBy>\n                  <FieldRef Name=\"FileLeafRef\" />\n                </OrderBy>\n              </Query>\n              <ViewFields>\n                <FieldRef Name=\"DocIcon\" />\n                <FieldRef Name=\"LinkFilename\" />\n                <FieldRef Name=\"Modified\" />\n                <FieldRef Name=\"Editor\" />\n              </ViewFields>\n              <RowLimit Paged=\"TRUE\">30</RowLimit>\n              <JSLink>clienttemplates.js</JSLink>\n            </View>\n          </pnp:Views>\n          <pnp:FieldRefs>\n            <pnp:FieldRef ID=\"ccc1037f-f65e-434a-868e-8c98af31fe29\" Name=\"_ComplianceFlags\" DisplayName=\"Label setting\" />\n            <pnp:FieldRef ID=\"d4b6480a-4bed-4094-9a52-30181ea38f1d\" Name=\"_ComplianceTag\" DisplayName=\"Labels\" />\n            <pnp:FieldRef ID=\"92be610e-ddbb-49f4-b3b1-5c2bc768df8f\" Name=\"_ComplianceTagWrittenTime\" DisplayName=\"Label Applied\" />\n            <pnp:FieldRef ID=\"418d7676-2d6f-42cf-a16a-e43d2971252a\" Name=\"_ComplianceTagUserId\" DisplayName=\"Label applied by\" />\n            <pnp:FieldRef ID=\"8382d247-72a9-44b1-9794-7b177edc89f3\" Name=\"_IsRecord\" DisplayName=\"Item is a Record\" />\n            <pnp:FieldRef ID=\"d307dff3-340f-44a2-9f4b-fbfe1ba07459\" Name=\"_CommentCount\" DisplayName=\"Comment count\" />\n            <pnp:FieldRef ID=\"db8d9d6d-dc9a-4fbd-85f3-4a753bfdc58c\" Name=\"_LikeCount\" DisplayName=\"Like count\" />\n            <pnp:FieldRef ID=\"3a6b296c-3f50-445c-a13f-9c679ea9dda3\" Name=\"ComplianceAssetId\" DisplayName=\"Compliance Asset Id\" />\n          </pnp:FieldRefs>\n        </pnp:ListInstance>\n      </pnp:Lists>\n      <pnp:CustomActions>\n        <pnp:WebCustomActions>\n          <!-- alertNotification -->\n          <pnp:CustomAction Name=\"AlertNotification\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"aa8dd198-e2ee-45c5-b746-821d001bb0e1\" RegistrationType=\"None\" />\n          <!-- collabFooter -->\n          <pnp:CustomAction Name=\"CollabFooter\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"c0ab3b94-8609-40cf-861e-2a1759170b43\" RegistrationType=\"None\" />\n          <!-- portalFooter -->\n          <pnp:CustomAction Name=\"PortalFooter\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"b8eb4ec9-934a-4248-a15f-863d27f94f60\" RegistrationType=\"None\" />\n          <!-- redirect -->\n          <pnp:CustomAction Name=\"Redirect\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"f5771a9e-283e-4525-a599-554e8b9e48c2\" RegistrationType=\"None\" />\n          <!-- siteClassification -->\n          <pnp:CustomAction Name=\"SiteClassification\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"7f69d5cb-5aeb-4bc6-9f77-146aebfd9a8e\" Sequence=\"1\" RegistrationType=\"None\" />\n          <!-- tabPage -->\n          <pnp:CustomAction Name=\"TabPage\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"14a8a106-d508-44d0-8fa6-f2f9ed8f571d\" Sequence=\"2\" RegistrationType=\"None\" />\n        </pnp:WebCustomActions>\n      </pnp:CustomActions>\n      <pnp:Files>\n        <pnp:File Src=\"..\\Assets\\images\\hel2.jpg\" Overwrite=\"true\" Folder=\"Assets\"></pnp:File>\n      </pnp:Files>\n    </pnp:ProvisioningTemplate>\n  </pnp:Templates>\n</pnp:Provisioning>"
  },
  {
    "path": "assets/functions/applyportaltemplate/run.ps1",
    "content": "$in = Get-Content $triggerInput -Raw\nWrite-Output \"Incoming request for '$in'\"\nConnect-PnPOnline -AppId $env:SPO_AppId -AppSecret $env:SPO_AppSecret -Url $in\nWrite-Output \"Connected to site\"\nApply-PnPProvisioningTemplate -Path D:\\home\\site\\wwwroot\\applyportaltemplate\\portal.xml"
  },
  {
    "path": "assets/functions/host.json",
    "content": "{\"swagger\":{\"enabled\":true}}"
  },
  {
    "path": "assets/readme.md",
    "content": "SP Starter Kit Assets folder"
  },
  {
    "path": "changelog.md",
    "content": "# SharePoint Starter Kit Changelog #\n\n**2023-02-22**\n* Release of V3 with all solutions updated to SPFx version 1.16.1\n\n**2019-07-18**\n* Changed handling of URLs using parameters\n\n**2018-04-08**\n* Upgrade solution to SharePoint Framework v1.8 with Microsoft Teams support for the web parts.\n\n**2018-09-11**\n* Upgrade solution to SharePoint Framework v1.6.0\n\n**2018-06-14**\n* Release blog post out in Office Dev blog\n\n**2018-02-27**\n* Created repository. It's GO!\n"
  },
  {
    "path": "documentation/README.md",
    "content": "# SharePoint Starter Kit v3 Additional Documentation\n\n# Table of contents\n\n- [Tenant API Management](./api-management.md)\n- [Common SP Starter Kit Provisioning results](./common-provision-results.md)\n- [Manually deploy the SP Starter Kit .sppkg SPFx solution packages to the tenant App Catalog](./manual-deploy-sppkg-solution.md)\n- [Preparing your tenant for the PnP SharePoint Starter Kit](./tenant-settings.md)\n- [Term Store Considerations and non-English tenants](./term-store.md)\n- [Notes and suggestions when modifying included SPFx solutions](./modifying-spfx-solutions.md)"
  },
  {
    "path": "documentation/api-management.md",
    "content": "# Tenant API Management\n\nThe SPFx solution included with SP Starter Kit requires access to third party API's. Third party access is controlled via the `API access` page included as a part of the SharePoint admin center.\n\n\n## Approving pending API requests\n\nAfter installing the starter kit, or after adding the included SPFx [solution packages](../source) from the [`/source/'component'/sharepoint/solution`](../source) folders manually to the tenant app catalog, manually approve the requested permissions.\n\nTwo methods to approve API requests include:\n\n- [Using the SharePoint admin center API access page](#Approve-pending-API-access-with-the-SharePoint-admin-center-API-access-page)\n\n- [Using PnP PowerShell](#Approve-pending-API-access-with-PnP-PowerShell)\n\n\n## Approve pending API access with the SharePoint admin center API access page\n\nNavigate to your tenant SharePoint Admin Center\n\n![SharePoint Admin Center](../assets/images/API-Approval-01.png)\n\n\nNavigate to **API access** found in the **advanced** menu, your API access Management Page. The API access menu item will only appear after you have provisioning the starter kit, or if there is at least one pending or approved API access request.\n\n![API Management](../assets/images/API-Approval-03.png)\n\n\n**Approve** the `Microsoft Graph` permission requests by selecting each permission request and clicking `Approve`\n\n![API Approval Panel](../assets/images/API-Approval-04.png)\n\n![API Approval Panel](../assets/images/API-Approval-04-02.png)\n\n\nThe pending permissions should now be approved.\n\n![APIs Approved](../assets/images/API-Approval-05.png)\n\n\n**Note** currently the sample LOB service sample is in development and will utilize the SPFx-LOB-*** API permission requests. These requests can be ignored at this time. \n\n**Note** if you receive an error when approving a Microsoft Graph permission request, try to approve it again. In batch approvals, some requests may fail the first time.\n\n\n## Approve pending API access with PnP PowerShell\n\n**Advanced approval process - be sure you validate each API access request before approving**\n\nApproving pending API access requests may also be accomplished with PnP PowerShell using the commandlet:\n\n```powershell\nApprove-PnPTenantServicePrincipalPermissionRequest\n```\n\n1. Open PowerShell and ensure you have installed the latest version of PnP PowerShell (validated at version 3.19.2003.0 or higher)\n\n2. Connect to your tenant **using authorization credentials that have tenant administrative rigths**. This level of access is required to approve the API access requests\n\n   ```powershell\n   Connect-PnPOnline -Url https://[yourtenant].sharepoint.com\n   ```\n\n3. Execute the following PowerShell commandlets.\n\n   *Note: This script will search for and approve any API access request made by any SPFx package added to your tenant app catalog that has a package name that begins with 'react-personal-', 'react-recent', or 'react-command-'. Be sure to review each API access request.\n\n   ```powershell\n   $requests = Get-PnPTenantServicePrincipalPermissionRequests\n   $requestsToApprove = $requests | ? { $_.PackageName -like 'react-personal-*' -or $_.PackageName -like 'react-recent*' -or $_.PackageName -like 'react-commmand-*' }\n\n   if ($requestsToApprove -ne $null)\n   {\n      foreach($request in $requestsToApprove)\n      {\n         Approve-PnPTenantServicePrincipalPermissionRequest -RequestId $request.Id\n      }\n   }\n   ```\n4. All API access requests for the starter kit should now be approved.\n"
  },
  {
    "path": "documentation/common-provision-results.md",
    "content": "# Common SP Starter Kit Provisioning results\n\nWhen provisioning SP Starter Kit following the [`deployment process`](../provisioning/readme.md), common outputs including the following.\n\nAll examples are based on running the following commands in PowerShell, where `[yourtenant]` is replaced with your specific tenant id.\n\n```powershell\nConnect-PnPOnline https://[yourtenant].sharepoint.com\nInvoke-PnPTenantTemplate -Path starterkit.pnp\n```\n\n# Table of contents\n\n- [Successful provisioning](#successful-provisioning)\n- [ERROR: General cascading errors](#error-general-cascading-errors)\n- [ERROR: Improper version of PnP PowerShell installed](#error-improper-version-of-pnp-powershell-installed)\n- [ERROR: App Catalog Required](#error-app-catalog-required)\n- [ERROR: Term Set Permissions Required](#error-term-set-permissions-required)\n- [ERROR: Not Targeted Release](#error-not-targeted-release)\n- [ERROR: Culture is not supported and/or (0x0c00) is an invalid culture identifier.](#error-culture-is-not-supported)\n- [Invalid App package installation - API Management missing](#invalid-app-package-installation---api-management-missing)\n- [ERROR: The user or administrator has not consented to use the application](#error-the-user-or-administrator-has-not-consented-to-use-the-application)\n- [ERROR: Invoke-PnPTenantTemplate : The remote server returned an error: (401) Unauthorized](#error-invoke-pnptenanttemplate-:-the-remote-server-returned-an-error:-401-unauthorized)\n\n\n## Successful provisioning\n\nIf all [`pre-requirements`](../#pre-requirements) have been addressed and met, no errors should be generated.\n\n![Successful Deployment](../assets/images/provision-ps-success.png)\n\n\n## ERROR: General cascading errors\n\n`Watch the pre-requirements` If you see many cascading errors, most likely a pre-requirement has not been set.\n\n1. Ensure you are connecting to your tenant site using a tenant admin account.\n\n1. Ensure that you have the latest PnP PowerShell commandlets. You might need to remove the PnP PowerShell commandlets and re-install to ensure you have the latest. [`PnP PowerShell - Recommended 1.12.0 or later`](https://github.com/pnp/powershell/releases).\n\n1. Verify you have already created your `tenant app catalog`.\n\n1. Verify that the account you are using has Admin rights to the Site Collection for tenant app catalog (eg. /sites/appcatalog)\n\n1. Verify the account you are using to connect to your tenant site has already been added as a **term store administrator**.\n\n1. If you believe the error is new and not addressed below or in the [`issues list`](https://github.com/pnp/sp-starter-kit/issues), please submit a [`new issue`](https://github.com/pnp/sp-starter-kit/issues). If the error appears to be an **error reported in PowerShell**, please enable the **PnP Trace Log** before running the deploy.ps1 script and **report those findings** in your new issue.\n\n   ```powershell\n   Set-PnPTraceLog -On -Level Debug\n   ```\n\n\n## ERROR: Improper version of PnP PowerShell installed\n\n[`PnP PowerShell - Recommended 1.12.0 or later`](https://github.com/pnp/powershell) is required for SP Starter Kit to properly provision. It is recommended that you have only the latest version of PnP PowerShell installed on your workstation as well.\n\nIf you do not have the proper version of PnP PowerShell installed, you may receive errors similar to:\n\n`Invoke-PnPTenantTemplate : The term 'Invoke-PnPTenantTemplate' is not recognized as the name of a cmdlet, function, script file, or\noperable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try\nagain.`\n\n![Invalid PnP PS](../assets/images/provision-ps-failed-invalid-pnpps-version.png)\n\n\n### Recommended solution\n\nVerify you have the latest PnP PowerShell commandlets installed, as well as look for competeting, older versions. If you receive any error that references that a given `term` is not `recognized as the name of a cmdlet, function, script file, or\noperable program`, you have an issue with how PnP PowerShell is installed on your workstation.\n\n```powershell\nGet-Module PnP.PowerShell* -ListAvailable | Select-Object Name,Version | Sort-Object Version -Descending\n```\n\n![Multiple PnP PowerShell](../assets/images/provision-ps-failed-invalid-pnpps-multiple.png)\n\n`Update PnP PowerShell'\n\n```powershell\nUpdate-Module PnP.PowerShell*\n```\n\n`Remove older verions(s) of PnP PowerShell'\n\nBased on the example above, we can see there are two versions of PnP PowerShell installed. We could remove version 1.6.0 with the following command:\n\n```powershell\nGet-InstalledModule -Name \"PnP.PowerShell\" -RequiredVersion 1.6.0 | Uninstall-Module\n```\n\nAlternatively you can decide to uninstall all installed version of PnP PowerShell and reinstall the latest module\n```powershell\nUninstall-Module -Name \"PnP.PowerShell\" -AllVersions\nInstall-Module -Name \"PnP.PowerShell\"\n```\n\n> Notice - versions of the legacy PnP PowerShell released in 2020 may throw errors related to [permissions](#error-the-user-or-administrator-has-not-consented-to-use-the-application).\n\nRecommended versions of PnP PowerShell include:\n- 1.12.0 - Note: you may have to [grant consent](#error-the-user-or-administrator-has-not-consented-to-use-the-application)\n\n\n## ERROR: App Catalog Required\n\nThe SP Starter Kit includes multiple SPFx solution packages, `*.sppkg`. By default these packages will be deployed to the tenant app catalog by the `Invoke-PnPTenantTemplate` cmdlet in to your tenant App Catalog.\n\nIf you have not completed this task, you might receive an error that includes:\n\n```\nWARNING: Tenant app catalog doesn't exist. ALM step will be skipped!\nInvoke-PnPTenantTemplate : There is no app catalog site for this tenant.\n```\n\n![App catalog required](../assets/images/provision-ps-failed-no-app-catalog.png)\n\n\n### Recommended solution\n\n[`Create a tenant app catalog`](./manual-deploy-sppkg-solution.md) and wait for deployment to complete, which may take minutes, hours, or possibly a day.\n\n`Note`: If you recently created a new tenant or an [Microsoft 365 developer tenant](https://learn.microsoft.com/en-us/office/developer-program/microsoft-365-developer-program), you may receive an error similar to:\n\n```\nSorry, something went wrong\nUpdates are currently disallowed on GET requests.  To allow updates on a GET, set the 'AllowUnsafeUpdates' property on SPWeb.\n```\n\nYou may need to wait a few hours, possibly up to 24+ hours, after a new SharePoint tenant is created before creating a tenant app catalog as it takes a while for your SharePoint tenant to fully deploy.\n\n\n## ERROR: Term Set Permissions Required\n\nThe deployment script includes a PnP provisioning template that attempts to configure demo terms within the managed metadata service / term store. For this to succeed, the account used to connect to your tenant must have been manually added as a term store administator. If you have not completed this task, you might receive an error that includes:\n\n`Apply-PnPProvisioningHierarchy : Access denied. You do not have permissions to perform this action or access this resource.`\n\n![Term store permission required](../assets/images/provision-ps-failed-not-termset-admin.png)\n\n\n### Recommended solution\n\nVerify that the account you are using to provision SP Starter Kit is a term store administrator.\n\n\n## ERROR: Not Targeted Release\n\nSP Starter Kit V2- required that your tenant be set to `Targeted Release` for all users. When the deployment script attempts to provision solution.xml to your tenant, included is an action to upload the included .sppkg SPFx solution to your tenant app catalog as well as approve API permissions. This step could fail if you have a legacy tenant that has not properly configured your tenant to `Targeted Release`.\n\nIf you encounter an error similar to the following, you might need to set your tenant to targetted release for all users:\n\n`Apply-PnPProvisioningHierarchy : {\"error\":{\"code\":\"-2147024891, System.UnauthorizedAccessException\",\"message\":\"{\"lang\",\"en-us\",\"value\":\"Access denied. You do not have permissions to perform this action or access this resource.\"}}}`\n\n![Targeted Release](../assets/images/provision-ps-failed-not-targeted-release.png)\n\n`This error can also appear if the login account is not an owner of the 'App Catalog' for the tenant\n\n### Recommended solution\n\nEnsure that your tenant is set to targeted release for all users.\n\n`NOTE:` You will need to wait at least 24 hours after setting your tenant to targeted release before all required updates are provisioned to your tenant before the deploy script will execute correctly.\n\n\n## ERROR: Culture is not supported\n\nThe SP Starter Kit end to end provisioning only works with tenants that are configured with the dafault language set to English, i.e. those with culture code 1033 enabled. It is possible that certain tenants have English available, while the default language is not set to 1033. This can cause issues when the provisioning process adds terms to to the term store.\n\nYou may receive an error in PowerShell similar to the following:\n\n```powershell\nCulture is not supported\n```\n\n```powershell\n(0x0c00) is an invalid culture identifier.\n```\n\n### Recommended solution\n\nCheck to see that the current culture for your instance of PowerShell is ready for the template. Run \"Get-Culture\" in PowerShell\n\n```powershell\nGet-Culture\n```\n\nThe expected output should be\n\n```powershell\nLCID             Name             DisplayName\n----             ----             -----------\n1033             en-US            English (Unitied States)\n```\n\nYou can temporarily change to en-US for the provisioning process to continue.\n\n```powershell\nSet-Culture -CultureInfo en-US\n```\n\nTry to provision the Starter Kit again.\n\n## Invalid App package installation - API Management missing\n\nDeployment of the included SPFx solutions `.\\source\\[component]\\sharepoint\\solution\\[component].sppkg` may be  [`completed manually`](./manual-deploy-sppkg-solution.md). In legacy tenants, if you do not have `Targeted Release` enabled for all users, or if you have enabled Targeted Release for all users but have not waited at least 24 hours to full roll out, you may encounter errors when manually deploying the .sppgk packages, or attempting to find API Management.\n\n`Manually deploying .sppkg packages`\n\nAlthough you will be able to upload the SPFx package to the tenant app catalog, an error will be thrown.\n\n![SPFx deployment error](../assets/images/provision-package-deployment-error.png)\n\n`API Management missing`\n\nWithout Targeted Release enabled, you will be unable to find `API Management` in the Preview Admin Center.\n\n![SPFx deployment error API Management](../assets/images/provision-error-api-management-missing.png)\n\n\n### Recommended solution\n\nEnsure that your tenant is set to targeted release for all users.\n\n`NOTE:` You will need to wait at least 24 hours after setting your tenant to targeted release before all required updates are provisioned to your tenant before the deploy script will execute correctly.\n\n\n\n## ERROR: The user or administrator has not consented to use the application\n\nCertain versions of PnP PowerShell released in 2020 contained PnP Core authentication methods that utilze a AAD application. If you receive an error similar to:\n\n```powershell\nThe user or administrator has not consented to use the application with ID '31359c7f-bd7e-475c-86db-fdb8c937548e' named 'PnP Management Shell'. Send an interactive authorization request for this user and resource.\n```\n\nYou should consider the following solution based on recommendations provided in issue 436: https://github.com/pnp/sp-starter-kit/issues/436\n\n### Recommended solution\n\nYou can downgrade to a previous version of PnP PowerShell. A validated version includes PnP PowerShell 1.12.0\n\n```powershell\nInstall-Module -Name \"PnP.PowerShell\" -RequiredVersion 1.12.0\n```\n\nIf you are using a PnP PS version after 1.12.0, use the following steps to grant the proper permissions.\n\n```powershell\nConnect-PnPOnline -Url \"https://.sharepoint.com/\" -PnPManagementShell\n```\n\nFollow the instructions provided during the Mangement Shell login, including completing the device login, and consent the SharePoint Online permission requests.\n\n```powershell\nDisconnect-PnPOnline\nConnect-PnPOnline -Graph\n```\n\nFollow the instructions provided during the Graph loging, inclduing completing the device login again, and consent the Microsoft Graph permission requests.\n\n```powershell\nDisconnect-PnPOnline\n```\n\nOnce this has been completed, the standard Starter Kit provisioning process should proceed as expected.\n\n\n## ERROR: Invoke-PnPTenantTemplate : The remote server returned an error: (401) Unauthorized\n\nA common error if you are using an account that has MFA enabled, or recently was configured for MFA is:\n\n```powershell\nInvoke-PnPTenantTemplate : The remote server returned an error: (401) Unauthorized\n```\n\nPnP Core / PnP PS do not currently appear to support MFA tokens when connecting to aspects of the tenant required but the kit, including access to the app catalog to provision .sppkg's. This includes when attempting to connect to your site using -PnPManagementShell or -UseWebLogin. \n\nAt this time, the best resolution is to use a SharePoint global admin account that does not, nor has had, MFA enabled to apply the Starter Kit tenant template."
  },
  {
    "path": "documentation/components/ext-alert.md",
    "content": "# Alert Application Customizer\n\nThis application customizer provides you the ability to show notifications on content pages in the top / header area. \n\nFull documenation is found in the [extension's source](../../source/react-application-alerts/README.md)\n\n![Alert](../../assets/images/components/ext-alert.gif)"
  },
  {
    "path": "documentation/components/ext-classification.md",
    "content": "# Site Classification Application Customizer\n\nThis application customizer provides you the ability to add a header with site classification information which is pulled from the Classification of modern SharePoint sites property using PnP JS. Learn more about [site classification](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/modern-experience-site-classification)\n\n![Site Classificiation](../../assets/images/components/ext-classification.png)\n\n\n\n\n## Extension details\n\nThis extension requires no external dependencies nor requires configuration as there are no custom properties.\n\n| Description | Name | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n\n\n# Installing the extension\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit).\n\nYou can also download just the [SharePoint Framework solution package (spppkg) file](https://github.com/SharePoint/sp-starter-kit/blob/master/package/sharepoint-starter-kit.sppkg) and install that to your tenant. This extension does not have external dependencies.\n\n> As this is a SharePoint Framework extension, you will need to explicitly enable this extension for a specific site using CSOM or REST APIs. You may also enable this extension via a PnP Provisioning template. See [hubsite.xml provisioning template](../../provisioning/hubsite.xml) for an example.\n\n# Screenshots\n\n![Site Classificiation](../../assets/images/components/ext-classification.png)\n\n# Source Code\n\nhttps://github.com/SharePoint/sp-starter-kit/tree/master/solution/src/extensions/siteClassification\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\nSince this is an extension, debugging requires slightly more advance settings. Please see more from the official SharePoint development documentation around the [debugging options with SharePoint Framework extensions](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/debug-modern-pages).\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/ext-classification)\n"
  },
  {
    "path": "documentation/components/ext-collab-discussnow.md",
    "content": "# Discuss Now List View Command Set\n\nThis List View Command Set provides you the ability to add a custom dialog to start a discussion on a specific document within a document library by scheduling an event meeting for the group of a specific site.\n\nThe event is added to the group by way of the Microsoft Graph.\n\nThe command set extension is designed for group associated team sites.\n\n![Discuss Now](../../assets/images/components/ext-collab-discussnow.png)\n\n\n## Extension details\n\nThis extension requires access to the Microsoft Graph and must target a specific list template types, such as `101` for document libraries.\n\n| Description | Name | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n\n\n# Installing the extension\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit).\n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-command-discuss-now/sharepoint/solution/react-command-discuss-now.sppkg) and install that to your tenant. This extension depends on access to Microsoft Graph.\n\n> As this is a SharePoint Framework extension, you will need to explicitly enable this extension for a specific site using CSOM or REST APIs. \n\n> You may enable this extension via a PnP Provisioning template. See [collab.xml provisioning template](../../provisioning/collab.xml) for an example.\n\n> You may enable this extension via PnP PowerShell using the `Add-PnPCustomAction` commandlet.\n\n```powershell\n$creds = Get-Credential\nConnect-PnPOnline https://[yourtenant].sharepoint.com/sites/[yoursite] -Credentials $creds\nAdd-PnPCustomAction -Title \"DiscussNow\" -Name \"DiscussNow\" -Location \"ClientSideExtension.ListViewCommandSet\" -ClientSideComponentId 130b279d-a5d1-41b9-9fd1-4a274169b117 -RegistrationType List -RegistrationId 101\n```\n\n> You may test this extension on a given collaboration site library by running `gulp serve` in powershell within the `./solution` folder, and then adding the querystring `?loadSPFX=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&customActions={\"130b279d-a5d1-41b9-9fd1-4a274169b117\":{\"location\":\"ClientSideExtension.ListViewCommandSet\",\"properties\":{}}}` to the url of a given library. As an example, for the tenant `contoso`, for a collaboration site `hr`: `https://contoso.sharepoint.com/sites/hr/Shared%20Documents/Forms/AllItems.aspx?loadSPFX=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&customActions={%22130b279d-a5d1-41b9-9fd1-4a274169b117%22:{%22location%22:%22ClientSideExtension.ListViewCommandSet%22,%22properties%22:{}}}`\n\n\n# Screenshots\n\n![Discuss Now](../../assets/images/components/ext-collab-discussnow.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-command-discuss-now\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\nSince this is an extension, debugging requires slightly more advance settings. Please see more from the official SharePoint development documentation around the [debugging options with SharePoint Framework extensions](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/debug-modern-pages).\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/ext-collab-discussnow)\n"
  },
  {
    "path": "documentation/components/ext-collab-footer.md",
    "content": "# Collaboration Footer Application Customizer\n\nThis application customizer provides you the ability to include a footer designed for group associated teams sites. The footer includes sets of links. One set of links provides company wide links which are configured using a managed metadata / taxonomy term set. A second set of links are personalized links, unqiue to each user, stored within each user's user profile within a user profile property.\n\nBy default, this application customizer is associated with group associated team sites created using the custom site design i.e. `{Company name} Team Site`, provided in this project. The custom site design is provisioned as a part of the [deployment process](../../provisioning) while applying the PnP Provisioning template, [hubsite.xml](../../provisioning/hubsite.xml).\n\n![Collaboration Footer](../../assets/images/components/ext-collab-footer.gif)\n\n\n\n\n## Extension details\n\nThis extension is dependent on an explicit `source` term set for common links and an explicit `personalItems` user profile property for personal link storage. By default the source term set is created during the Starter Kit deployment process. The User Profile property must be [manually created](../../documentation/tenant-settings.md#create-a-custom-property-in-the-user-profile-service).\n\n| Description | Name | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Source Term Set Name | sourceTermSet | string | yes | Default: PnP-CollabFooter-SharedLinks - The name of the term set within the managed metadata service to obtain common links |\n| User Profile Property Name | personalItemsStorageProperty | string | yes | Default: PnP-CollabFooter-MyLinks - The name of the custom user profile property used to store custom footer links |\n\n\n\n# Installing the extension\n\nSee getting started from the [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit).\n\nYou can also download the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-application-collab-footer/sharepoint/solution/react-application-collab-footer.sppkg) and install the SPFx solution to your tenant. This extension depends on the managed metadata service and the user profile to store common and user specific links.\n\n> As this is a SharePoint Framework extension, you will need to explicitly enable this extension for a specific site using CSOM or REST APIs. You may also auto enable this extension with defined custom properties as a part of a site script using the `associateExtension` verb. See [collabteamsite.json Site Script](../../provisioning/collabteamsite.json) for an example.\n\n# Screenshots\n\n![Collaboration Footer](../../assets/images/components/ext-collab-footer.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-application-collab-footer\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\nSince this is an extension, debugging requires slightly more advance configuration. Please learn more from the official SharePoint development documentation on [debugging options with SharePoint Framework extensions](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/debug-modern-pages).\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/ext-collab-footer)"
  },
  {
    "path": "documentation/components/ext-portal-footer.md",
    "content": "# Portal Footer Application Customizer\n\nThis application customizer provides you the ability to include a footer designed for the primary portal or hub site. The footer includes sets of links as well as a copyright statement and support email address.\n\nOne set of links provides company wide links which are configured using a common list stored within the hub site. A second set of links are personalized links, unqiue to each user, stored within each user's user profile within a user profile property.\n\nBy default, this application customizer is associated with communication sites created using the custom site design i.e. `{Company name} Communication Site`, provided in this project. The custom site design is provisioined as a part of the [deployment process](../../provisioning) while applying the PnP Provisioning template, [hubsite.xml](../../provisioning/hubsite.xml).\n\n![Portal Footer](../../assets/images/components/ext-portal-footer.gif)\n\n\n\n\n## Extension details\n\nThis extension is dependent on an explicit `source` list of common links and an explicit `personalItems` user profile property for personal link storage. By default the source list is created during the Starter Kit deployment process. The User Profile property must be [manually created](../../documentation/tenant-settings.md#create-a-custom-property-in-the-user-profile-service).\n\n| Description | Name | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Common link list title | linksListTitle | string | yes | Default: PnP-PortalFooter-Links - The name of the list within the current site where common links are stored |\n| Copyright Message | copyright | string | yes | Default: (c) Copyright {Company}, 2018 - a copyright message |\n| Support Contact | support | string | yes | Default: support@contoso.com - a support or contact email address |\n| User Profile Property Name | personalItemsStorageProperty | string | yes | Default: PnP-CollabFooter-MyLinks - The name of the custom user profile property used to store custom footer links |\n\n\n\n## Portal Footer Links list details\n\nThis extension is dependent on a explicit `PnP-PortalFooter-Links` list that must be located in the root of the current site collection.\n\n| Display Name | Name | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Title | Title | string | yes | Link title |\n| Link Group | PnPPortalLinkGroup | choice | no | The group for a specific link |\n| Link URL| PnPPortalLinkUrl | URL | no | The url for a specific link |\n\n\n\n# Installing the extension\n\nSee getting started from the [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit).\n\nYou can also download the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-application-portal-footer/sharepoint/solution/react-application-portal-footer.sppkg) and install the SPFx solution to your tenant. This extension depends on a SharePoint list and the user profile to store common and user specific links.\n\n> As this is a SharePoint Framework extension, you will need to explicitly enable this extension for a specific site using CSOM or REST APIs. You may also auto enable this extension with defined custom properties as a part of a site script using the `associateExtension` verb. See [collabcommunicationsite.json Site Script](../../provisioning/resources/collabcommunicationsite.json) for an example.\n\n# Screenshots\n\n![Portal Footer](../../assets/images/components/ext-portal-footer.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-application-portal-footer\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\nSince this is an extension, debugging requires slightly more advance configuration. Please learn more from the official SharePoint development documentation on [debugging options with SharePoint Framework extensions](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/debug-modern-pages).\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/ext-portal-footer)\n"
  },
  {
    "path": "documentation/components/ext-redirect.md",
    "content": "# Redirect Application Customizer\n\nThis application customizer provides you the ability to redirect from URL based on mapping from a list on the site. Can be used to automatically redirect from pages to other locations.\n\nFull documenation is found in the [extension's source](../../source/js-application-redirect/README.md)\n\n![Alert](../../assets/images/components/ext-redirects.gif)"
  },
  {
    "path": "documentation/components/lib-shared.md",
    "content": "# Starter Kit SPFx Shared Library\n\nA shared library that includes shared locatization strings, consumabled by any other SPFx webpart or extension.\n\nFull documenation is found in the [extension's source](../../source/library-starter-kit-shared/README.md)\n"
  },
  {
    "path": "documentation/components/wp-banner.md",
    "content": "# Banner web part\n\nThis web part provides you the ability to add a variable height image banner with a linkable title.\n\n![Bannner](../../assets/images/components/part-banner.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Banner** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Banner` webpart can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Overlay image text | bannerText | string | no | The text message or title you want displayed on the banner image |\n| Image URL | bannerImage | string | no | The url of the banner image |\n| Link URL | bannerLink | string | no | The hyperlink url of the bannerText link |\n| Banner height | bannerHeight | number | no | Provides the fixed height of the banner image |\n| Enable parallax effect | useParallax | toggle | no | Enable if you want to include parallax effect on vertical scrolling |\n\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-banner/sharepoint/solution/react-banner.sppkg) and install that to your tenant. This web part does not have external dependencies.\n\n# Screenshots\n\n![Bannner](../../assets/images/components/part-banner.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-banner\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-banner)"
  },
  {
    "path": "documentation/components/wp-followed-sites.md",
    "content": "# Followed Sites webpart\n\nThis web part provides you the ability to display a list of site administrator defined number of sites that a given user is following, with paging as well as inline filtering of sites by keyword or phrase. Currently the list of followed sites includes classic as well as modern communication sites but does not include group enabled (modern) team sites.\n\n![Bannner](../../assets/images/components/part-followed-sites.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Followed Sites** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Followed Sites` webpart can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Followed Sites | title | string | no | The webpart title, editable inline with the webpart itself |\n| Number of followed sites to retrieve | nrOfItems | number | no | The number of sites to show per page, default = 10 |\n| Specify the sort order of the retrieved sites | sortOrder | number | no | Preferred site sort order. Default sort order driven by SharePoint, or by site name |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit).\n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-followed-sites/sharepoint/solution/react-followed-sites.sppkg) and install that to your tenant. This web part utilizes the SharePoint Rest API, `/_api/social.following/my/followed(types=4)`, endpoint.\n\n# Screenshots\n\n![Followed Sites](../../assets/images/components/part-followed-sites.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-followed-sites\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-followed-sites)"
  },
  {
    "path": "documentation/components/wp-links.md",
    "content": "# Links webpart\n\nThis web part provides you the ability to add a per instance listing of links with the ability to group sets of links. Links are stored as a collection of links within the web part's properties, removing the need for link storage within SharePoint lists, tenant properties, or other external link storage requirements.\n\nLinks and groups are both customizable.\n\n![Links](../../assets/images/components/part-links.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Links** web part.\n3. Configure the webpart to update its properties.\n\n## Configurable Properties\n\nThe `Links` webpart can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Useful links | title | string | no | The webpart title, editable inline with the webpart itself |\n| Group names for the links | groupData | collection | no | Collection of group names for grouping links into sets |\n| Link data | collectionData | collection | no | Collection of links |\n\n### groupData Collection Properties\n\nConfigurable properties for each collection row within the `groupData` collection:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Title | title | string | yes | The name of a group |\n\n### collectionData Collection Properties\n\nConfigurable properties for each collection row within the `collectionData` collection:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Title | title | string | yes | The text / title of the link |\n| URL | url | string | yes | The link url |\n| UI Fabric icon name | icon | fabricIcon | no | Optional UI Fabric icon name |\n| Group name | group | dropdown | no | Optional name of the group to add this link to |\n| Target | target | dropdown | no | Optional target for this link, current or new window |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-links/sharepoint/solution/react-links.sppkg) and install that to your tenant. This web part does not have external dependencies.\n\n# Screenshots\n\n![Links](../../assets/images/components/part-links.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-links\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n1.1|June 2018|Updated collection descriptions\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-links)"
  },
  {
    "path": "documentation/components/wp-lob-integration.md",
    "content": "# LOB Integration webpart\n\nThis web part allows you to learn how to consume 3rd party APIs, secured with Azure Active Directory, in the context of SharePoint Framework.\nIt leverages two different back-end REST APIs:\n- An ApiController built in Microsoft ASP.NET MVC, which is defined in a .NET solution that you can find [here](../../sample-lob-service/SharePointPnP.LobScenario/SharePointPnP.LobScenario.sln)\n- An Azure Function, which is based on the code defined [here](../../sample-lob-service/LIstNorthwindCustomers)\n\n![LOB Integration](../../assets/images/components/part-lob-integration.png)\n\nThe purpose of this web part is to show how you can consume LOB (Line of Business) solutions and on-premises data within SharePoint Framework.\nIn order to leverage this web part, you will need to configure a couple of applications in Azure Active Directory of your target tenant:\n- **SPFx-LOB-WebAPI**: for the .NET web application\n  - Publish the ASP.NET MVC application on an Azure App Service\n  - Register the AAD app providing the URL of the above Azure App Service\n  - Choose a valid App ID Uri for the app\n  - Configure that App ID Uri in the [LobIntegration.tsx](../../solution/src/webparts/lobIntegration/components/LobIntegration.tsx#L145) React component\n  - Update the App manifest of the Azure AD app configuring the **oauth2Permissions** property with a value like the following one:\n\n```json\n  \"oauth2Permissions\": [\n    {\n      \"adminConsentDescription\": \"Allow the application to read customers through SPFx-LOB-WebAPI on behalf of the signed-in user.\",\n      \"adminConsentDisplayName\": \"Read customers from SPFx-LOB-WebAPI\",\n      \"id\": \"7510eb34-4403-44d5-a745-a62d0895351c\",\n      \"isEnabled\": true,\n      \"type\": \"User\",\n      \"userConsentDescription\": \"Allow the application to access SPFx-LOB-WebAPI on your behalf.\",\n      \"userConsentDisplayName\": \"Access SPFx-LOB-WebAPI\",\n      \"value\": \"Customers.Read\"\n    }\n  ],\n```\n- **SPFx-LOB-Function**: for the Azure Function\n  - Create an Azure Function and configure it with Azure AD Authentication, registering it in your target AAD tenant\n  - Register the AAD app providing the URL of the above Azure Function\n  - Choose a valid App ID Uri for the app\n  - Configure that App ID Uri in the [LobIntegration.tsx](../../solution/src/webparts/lobIntegration/components/LobIntegration.tsx#L99) React component\n  \nMoreover, in order to make this web part working properly, you need to grant permissions to the SharePoint Service Application Principal to access them. You can do that using the PnP PowerShell command lets (or Office 365 CLI) with the following syntax:\n\n```PowerShell\nConnect-PnPOnline \"https://[your-tenant].sharepoint.com/\"\n\nGrant-PnPTenantServicePrincipalPermission -Resource \"SPFx-LOB-WebAPI\" -Scope \"Customers.Read\"\nGrant-PnPTenantServicePrincipalPermission -Resource \"SPFx-LOB-Function\" -Scope \"user_impersonation\"\n\n```\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **LobIntegration** web part.\n3. Configure the webpart to update its properties.\n\n## Configurable Properties\n\nThe `LobIntegration` webpart can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Web API URI | webapiUri | string | yes | The URL of the web API. Should be something like https://[your-app-service].azurewebsites.net/api/customers |\n| Function URI | functionUri | string | yes | The URL of the Azure Function. Should be something like https://[your-azure-function].azurewebsites.net/api/ListNorthwindCustomers |\n| Service Type | serviceType | choice | yes | Defines the service to use. It can be \"ASP.NET REST API\" or \"Azure Function\" |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-lob-integration/sharepoint/solution/react-lob-integration.sppkg) and install that to your tenant. This web part does not have external dependencies.\n\n# Screenshots\n![Links](../../assets/images/components/part-lob-integration.png)\n\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-lob-integration\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n1.1|June 2018|Updated collection descriptions\n1.2|October 2018|Updated documentation\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-lob-integration)"
  },
  {
    "path": "documentation/components/wp-people-directory.md",
    "content": "# People Directory web part\n\nThis web part provides you the ability to add a searchable people directory. A people search box and alphabet list are provided to enable both searching by name as well as selecting a specific letter. This web part requires no configuration and utilizes the people search API to surface people results.\n\n![People Directory](../../assets/images/components/part-people-directory.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **People Directory** web part.\n3. Configure the webpart to update its properties.\n\n## Configurable Properties\n\nThe `People Directory` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Web part title | title | string | no | The web part title, editable inline with the web part itself |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (spppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-people-directory/sharepoint/solution/react-people-directory.sppkg) and install that to your tenant. This web part does not have external dependencies.\n\n# Screenshots\n\n![People Directory](../../assets/images/components/part-people-directory.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-people-directory\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-people-directory)"
  },
  {
    "path": "documentation/components/wp-personal-calendar.md",
    "content": "# Personal Calendar web part\n\nThis web part provides you the ability to add a particular user's personal calendar on a web page. The web part may be configured to automatically refresh, as well as display up to seven days of events and a pre-defined number of events at a time. This web part is powered by the Microsoft Graph and currently requires that the Office 365 tenant be configured for targeted release for all users.\n\n![Personal Calendar](../../assets/images/components/part-personal-calendar.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Personal Calendar** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Personal Calendar` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Upcoming Events | title | string | no | The web part title, editable inline with the web part itself |\n| How often to check for new upcoming meetings (in minutes) | refreshInterval | number | no | Default: 5 - the interval in minutes between auto refresh |\n| How many days in advance to retrieve meetings for? 0 - today only | daysInAdvance | number | no | Default: 0 (Today only) - the interval in minutes between auto refresh |\n| How many meetings to show? 0 - show all retrieved meetings | numMeetings | number | no | Default: 0 (all) - the interval in minutes between auto refresh |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-personal-calendar/sharepoint/solution/react-personal-calendar.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Personal Calendar](../../assets/images/components/part-personal-calendar.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-personal-calendar\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-personal-calendar)"
  },
  {
    "path": "documentation/components/wp-personal-contacts.md",
    "content": "# Personal Contacts web part\n\nThis web part provides you the ability to add a particular user's personal contacts on a web page. The web part may be configured to display a pre-defined number of contacts at a time. This web part is powered by the Microsoft Graph and currently requires that the Office 365 tenant be configured for targeted release for all users.\n\n![Personal Contacts](../../assets/images/components/part-personal-contacts.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Personal Contacts** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Personal Contacts` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Personal contacts | title | string | no | The web part title, editable inline with the web part itself |\n| Number of contacts to show | nrOfContacts | number | no | Default: 5 - The number of contacts to show |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-personal-contacts/sharepoint/solution/react-personal-contacts.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Personal Contacts](../../assets/images/components/part-personal-contacts.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-personal-contacts\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-personal-contacts)"
  },
  {
    "path": "documentation/components/wp-personal-email.md",
    "content": "# Personal Email web part\n\nThis web part provides you the ability to add a particular user's personal email on a web page. The web part may be configured to display a pre-defined number of emails at a time and includes a link to the user's Outlook to view all email. This web part is powered by the Microsoft Graph and currently requires that the Office 365 tenant be configured for targeted release for all users.\n\n![Personal Email](../../assets/images/components/part-personal-email.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Personal Email** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Personal Email` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Personal e-mail | title | string | no | The web part title, editable inline with the web part itself |\n| Number of messages to show | nrOfMessages | number | no | Default: 5 - The number of emails to show |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-personal-email/sharepoint/solution/react-personal-email.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Personal Email](../../assets/images/components/part-personal-email.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-personal-email\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-personal-email)"
  },
  {
    "path": "documentation/components/wp-personal-tasks.md",
    "content": "# Personal Tasks web part\n\nThis web part provides you the ability to add a particular user's personal tasks on a web page. The web part may be configured to show all tasks or to exclude completed tasks. This web part is powered by the Microsoft Graph and currently requires that the Office 365 tenant be configured for targeted release for all users.\n\n![Personal Tasks](../../assets/images/components/part-personal-tasks.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Personal Tasks** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Personal Tasks` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| My Tasks | title | string | no | The web part title, editable inline with the web part itself |\n| Show completed tasks | showCompleted | bool | no | Default: false - If true, will show completed tasks as well |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-personal-tasks/sharepoint/solution/react-personal-tasks.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Personal Tasks](../../assets/images/components/part-personal-tasks.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-personal-tasks\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-personal-tasks)"
  },
  {
    "path": "documentation/components/wp-recent-contacts.md",
    "content": "# Recent Contacts web part\n\nThis web part provides you the ability to display list of a particular user's recent contacts on a web page. The web part may be configured to display a pre-defined number of contacts at a time. This web part is powered by the Microsoft Graph and currently requires that the Office 365 tenant be configured for targeted release for all users.\n\n![Recent Contacts](../../assets/images/components/part-recent-contacts.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Recent Contacts** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Recent Contacts` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Recent contacts | title | string | no | The web part title, editable inline with the web part itself |\n| Specify the number of contacts to show | nrOfContacts | number | no | Default: 5 - The number of contacts to show |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-recent-contacts/sharepoint/solution/react-recent-contacts.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Recent Contacts](../../assets/images/components/part-recent-contacts.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-recent-contacts\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-recent-contacts)"
  },
  {
    "path": "documentation/components/wp-recently-used-documents.md",
    "content": "# Recently Used Documents web part\n\nThis web part provides you the ability to display a list of a particular user's recently used documents on a web page. The web part may be configured to display a pre-defined number of documents at a time. This web part is powered by the Microsoft Graph and currently requires that the Office 365 tenant be configured for targeted release for all users.\n\n![Recently Used Documents](../../assets/images/components/part-recently-used-documents.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Recently Used Documents** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Recently Used Documents` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Recent Documents | title | string | no | The web part title, editable inline with the web part itself |\n| Specify the number of documents to show | nrOfItems | number | no | Default: 3 - The number of documents to show |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-recently-used-documents/sharepoint/solution/react-recently-used-documents.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Recently Used Documents](../../assets/images/components/part-recently-used-documents.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-recently-used-documents\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-recently-used-documents)"
  },
  {
    "path": "documentation/components/wp-recently-visited-sites.md",
    "content": "# Recently Visited Sites web part\n\nThis web part provides you the ability to display a list of a particular user's recently visited sites on a web page. The web part will display up to the first 30 (thirty) recently visited sites at a time. This web part is powered by the Microsoft Graph and currently requires that the Office 365 tenant be configured for targeted release for all users.\n\n![Recently Visited Sites](../../assets/images/components/part-recently-visited-sites.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Recently Visited Sites** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Recently Visited Sites` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Recent Sites | title | string | no | The web part title, editable inline with the web part itself |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-recently-visited-sites/sharepoint/solution/react-recently-visited-sites.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Recently Visited Sites](../../assets/images/components/part-recently-visited-sites.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-recently-visited-sites\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-recently-visited-sites)"
  },
  {
    "path": "documentation/components/wp-site-information.md",
    "content": "# Site Information web part\n\nThis web part provides you the ability to collect and present additional metadata on a web page for group associated team sites. The web part may be configured to display site title, a site contacts powered by a people picker, and a term from the term store, often used to provide classification for the site.\n\nThis web part is intended to be used once within a group associated team site to provide additional metadata. This web part provides an extensability framework in which to customize the web part code base to include additional properties and thus site metadata. Additional method demonstrations include the PnP Property Control people picker and the PnP Property Control term picker.\n\nThe term store must include the term group name, `PnPTermSets`, which incudes a Term Set, `PnP-Organizations`. Terms should be placed within this term set. The term group, term set, and default terms are added by the Starter Kit provisioning process, in particular set within the `./provisioning/terms.xml` provisioning template.\n\n![Site Information](../../assets/images/components/part-site-information.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Site Information** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Site Information` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Site Title | siteTitle | string | no | Default: Contoso Portal - the title of the site |\n| Site Contact | siteContact | IPropertyFieldGroupOrPerson[] | no | A site contact based on a people picker |\n| Site Organization | siteOrganization | IPickerTerms | no | The site's organization, based on a taxonomy termset |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (spppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-site-information/sharepoint/solution/react-site-information.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Site Information](../../assets/images/components/part-site-information.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-site-information\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n1.1|June 2018|Link webpart to proper term group and term set\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-site-information)"
  },
  {
    "path": "documentation/components/wp-stock-information.md",
    "content": "# Stock Information web part\n\nThis web part provides you the ability to display basic stock information for one publicly traded stock on a web page. The web part may be configured to display a stock based on stock symbol as well as be set to automatically refresh the stock information every 60 (sixty) seconds. The web part depends on a service provided by [Alpha Advantage](https://www.alphavantage.co/). [Learn how to register for your api key](https://github.com/SharePoint/sp-starter-kit/blob/master/documentation/tenant-settings.md#request-a-custom-api-key-to-alpha-vantage).\n\nThe api key provided by Alpha Advantage is added as a tenant property by the Starter Kit provisioning process. [Use the -StockAPIKey parameter when deploying the kit](https://github.com/SharePoint/sp-starter-kit/tree/master/provisioning#-stockapikey).\n\nBy default, the `Stock Information` web part will use the stock symbol set during the Starter Kit provisioning process when the [-StockSymbol](https://github.com/SharePoint/sp-starter-kit/tree/master/provisioning#-stocksymbol) parameter is provided. The default stock symbol is `MSFT`. The stock symbol may be customized per web part instance.\n\n![Stock Information](../../assets/images/components/part-stock.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Stock Information** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Stock Information` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Stock Code | stockSymbol | string | no | Default: MSFT - overrides the default stock, MSFT, with a preferred stock symbol |\n| Automatic Refresh | autoRefresh | bool | no | Default: false - If true, the web part will auto refresh every 60 seconds |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (spppkg) file](https://github.com/SharePoint/sp-starter-kit/blob/master/package/sharepoint-starter-kit.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Stock Information](../../assets/images/components/part-stock.png)\n\n# Source Code\n\nhttps://github.com/SharePoint/sp-starter-kit/tree/master/solution/src/webparts/stockInformation\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-stock-information)\n"
  },
  {
    "path": "documentation/components/wp-tiles.md",
    "content": "# Tiles web part\n\nThis web part provides you the ability to add a per instance listing of tiled links. Tiles are stored as a collection of tiles within the web part's properties, removing the need for link storage within SharePoint lists, tenant properties, or other external link storage requirements.\n\nIcons are from Office UI Fabric.\n\n![Tiles](../../assets/images/components/part-tiles.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Tiles** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Tiles` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Useful Tools | title | string | no | The web part title, editable inline with the web part itself |\n| Specify the height of the tiles | tileHeight | number | no | Default: 200, the height in pixels of each tile |\n| Tile data | collectionData | collection | no | Collection of tiles |\n\n### collectionData Collection Properties\n\nConfigurable properties for each tile row within the `collectionData` collection:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Title | title | string | yes | The text / title of the tile |\n| Description | description | string | no | Optional tile description |\n| URL | url | string | yes | The tile link url |\n| UI Fabric icon name | icon | fabricIcon | no | Optional UI Fabric icon name |\n| Target | target | dropdown | no | Optional target for this link, current or new window |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-tiles/sharepoint/solution/react-tiles.sppkg) and install that to your tenant. This web part requires access to the Microsoft Graph.\n\n# Screenshots\n\n![Tiles](../../assets/images/components/part-tiles.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-tiles\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n1.1|June 2018|Update SPFx Property Controls version to 1.7.0 - use Fabric Icon control\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-tiles)"
  },
  {
    "path": "documentation/components/wp-weather-information.md",
    "content": "# Weather Information web part\n\nThis web part provides you the ability to display basic weather information for one location on a web page. The web part depends on a service provided by [Yahoo Weather API](https://developer.yahoo.com/weather/).\n\nBy default, the `Weather Information` web part will use the location **Seatle** during the Starter Kit provisioning process and can be overriden when the [-WeatherCity](https://github.com/SharePoint/sp-starter-kit/tree/master/provisioning#-weathercity) parameter is provided.\n\n![Weather Information](../../assets/images/components/part-weather.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Weather** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Weather Information` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Add a location | location | string | no | Inline editable location for weather request |\n| Display temperature as | unit | string | no | The requested temperature unit, Celsius or Fahrenheit |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-weather/sharepoint/solution/react-weather.sppkg) and install that to your tenant.\n\n# Screenshots\n\n![Weather Information](../../assets/images/components/part-weather.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-weather\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-weather-information)"
  },
  {
    "path": "documentation/components/wp-world-time.md",
    "content": "# World Time web part\n\nThis web part provides you the ability to display basic clock for a given time zone on a web page. The clock is based on the user's workstation time with an offset from UTC to the selected time zone.\n\n![World Time](../../assets/images/components/part-world-time.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **World Time** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `World Time` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Description | description | string | no | Default: UTC Time - The clock description |\n| Time Zone | timeZoneOffset | number | no | Default: 0 - The clock offset where 0 = UTC, -8 = PST (UTC−08:00), etc |\n\n# Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (sppkg) file](https://github.com/pnp/sp-starter-kit/blob/master/source/react-world-clock/sharepoint/solution/react-world-clock.sppkg) and install that to your tenant.\n\n# Screenshots\n\n![World Time](../../assets/images/components/part-world-time.png)\n\n# Source Code\n\nhttps://github.com/pnp/sp-starter-kit/tree/master/source/react-world-clock\n\n# Minimal Path to Awesome\n\n- Clone this repository\n- Move to Solution folder\n- in the command line run:\n  - `npm install`\n  - `gulp serve`\n\n# Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n\n\n![](https://telemetry.sharepointpnp.com/sp-starter-kit/documentation/components/wp-world-time)"
  },
  {
    "path": "documentation/manual-deploy-sppkg-solution.md",
    "content": "# Manually deploy the SP Starter Kit .sppkg SPFx solution packages to the tenant App Catalog\n\nThe SP Starter Kit [`deployment process`](../provisiniong/readme.md) will automatically deploy the included SPFx solutions to your tenant app catalog. You can also pre-deploy any / all of the includes .sppkg packages from the [`/source`](../source) folder manually to the tenant app catalog, as well as ['manually approve the requested permissions`](api-management.md).\n\n\n## Pre-requirements\n\n1. You will need tenant admin access.\n\n2. You will already have to have created an Application Catalog from your SharePoint Admin Center. **Note**: A newly created app catalog may take a few minutes to a few hours to fully provision.\n\n   **SharePoint Admin Center Apps**\n\n   ![SharePoint Admin Center](../assets/images/app-catalog-01.png)\n\n   **Create tenant application site**\n\n   ![SharePoint Admin Center](../assets/images/app-catalog-02.png)\n\n\n## Manually deploy SP Starter Kit .sppkg files\n\n1. Load your tenant app catalog in a browser, i.e. http://[tenant].sharepoint.com/sites/apps\n\n2. Drag and drop each `.sppkg` from the './source/[component]/sharepoint/solution folder into your `app catalog`. As an example, to manually deploy the `React Banner` webpart package included in the starter kit, drag and drop [`react-banner.sppkg`](../source/react-banner/sharepoint/solution) from the [`./source/react-banner/sharepoint/solution`](../source/react-banner/sharepoint/solution) into your App Catalog\n\n   ![Application Catalog](../assets/images/spfx-solution-deployment-manual-01.png)\n\n3. Wait for the upload to complete.\n\n   ![Application Catalog](../assets/images/spfx-solution-deployment-manual-02.png)\n\n4. After a successful package upload, you will be asked to trust the solution. You will want to `Make this solution available to all sites in the organization`. Also note that you will need to approve api permissions after 'deploying' the solution.\n\n   ![Application Catalog](../assets/images/spfx-solution-deployment-manual-03.png)\n\n5. Your solution should now be deployed.\n\n   ![Application Catalog](../assets/images/spfx-solution-deployment-manual-04.png)\n\n6. Verify no errors were thrown during solution deployment.\n\n   ![Application Catalog](../assets/images/spfx-solution-deployment-manual-05.png)\n\n7. You should now approve the API permissions found in the [`API access`](api-management.md) pakge available in the SharePoint admin center.\n"
  },
  {
    "path": "documentation/modifying-spfx-solutions.md",
    "content": "# Notes and suggestions when modifying included SPFx solutions\n\nThis project includes multiple SPFx solutions including webparts, extensions, and libraries that come pre-included and deployed to the tenant app catalog with a [default installation of the SP Starter Kit](../provisioning).\n\nYou may also consider [Manually deploying the SP Starter Kit .sppkg SPFx solution packages to the tenant App Catalog](./manual-deploy-sppkg-solution.md)\n\n## Notes and recommendations\n\n1. SPFx source files are found in the [source](../source) folder\n2. Ensure you are using Node.js version 16.x, e.g. [Node.js 16.15.0](https://nodejs.org/download/release/latest-v16.x/), as the SPFx solutions are currently configured to use SPFx version 1.16.1.\n\n"
  },
  {
    "path": "documentation/tenant-settings.md",
    "content": "# Preparing your tenant for the PnP SharePoint Starter Kit\n\nIn this document you can find detailed information about preparing your tenant to provision and utilize the PnP SharePoint Starter Kit. In the main [ReadMe](./README.md) file of this repository you can find general information about the project.\n\nIn fact, here is the list of requirements, which need some manual steps, to be accomplished in order to properly provision the solution:\n\n* You need to [create a custom property in the User Profile Service](#UPSCustomProperty).\n* If you want to use the StockInformation Web Part, you need to [request a custom API key to Alpha Vantage](#APIKeyAlphaVantage), which is the provider for live stocks data.\n\nIn the following sections you can find detailed instructions about the above tasks.\n\n<a name=\"UPSCustomProperty\"></a>\n## Create a Custom Property in the User Profile Service\n\nIn order to register a custom property in the User Profile Service, you need to browse with your web browser to the SharePoint Admin Center of SharePoint Online, which is available at the URL https://&lt;tenant-name&gt;-admin.sharepoint.com/.\nThere, you need to select the *User Profiles* menu item on the left menu and select *Manage User Properties* under the *People* category of links, as you can see in the following figure.\n\n![The User Profiles Admin UI](../assets/images/UPS-Custom-Property-01.png)\n\nIn the *Manage User Properties* page, select to *New Property* create a **New Property** as it is illustrated in the following figure.\n\n![The add New Property button](../assets/images/UPS-Custom-Property-02.png)\n\nConfigure the new property with the following settings:\n\n* Name: PnP-CollabFooter-MyLinks\n* Display name: PnP-CollabFooter-MyLinks\n* Type: string (Single Value)\n* Length: 3600 (which is the maximum allowed)\n* Policy Setting: Optional\n* Allow users to edit values for this property: Checked\n\nLeave all the other properties with their default values.\n\n> Note: We cannot automate this step because it is not yet possible to use the Client Side Object Model, or the REST API of SharePoint Online, to create a custom User Profile property.\n\n<a name=\"APIKeyAlphaVantage\"></a>\n## Request a custom API key to Alpha Vantage\n\nThe StockInformation Web Part uses the live stocks service provided by [Alpha Advantage](https://www.alphavantage.co/). However, to use it you need a software key, that you can ask for free to the API provider. You will simply need to go to the page to [Claim your API Key](https://www.alphavantage.co/support/#api-key), fill in the form, and store the generated key in a safe place.\n\nThe key should be configured at tenant level, by creating a storage entity using the following PowerShell script:\n\n```powershell\nSet-PnPStorageEntity -Key \"PnP-Portal-AlphaVantage-API-Key\" -Value \"your-api-key\" -Comment \"API Key for Alpha Advantage REST Stock service\" -Description \"API Key for Alpha Advantage REST Stock service\"\n```\n"
  },
  {
    "path": "documentation/term-store.md",
    "content": "# Term Store Considerations\n\nFor a successful deployment of the SP Starter Kit, certain term store considerations exist.\n\n<a name=\"TermStoreAdmin\"></a>\n## Term Store Administration\n\nPer the project pre-requirements, the account you use when [provisioning](../provisioning) the SP Starter Kit must be manually set as a term store administrator.\n\n<a name=\"NonEnglishTenants\"></a>\n## Non-English tenants\n\nThe SP Starter Kit end to end provisioning only works with tenants that are configured with the dafault language set to English, i.e. those with culture code 1033 enabled. It is possible that certain tenants have English available, while the default language is not set to 1033. This can cause issues when the provisioning process adds terms to to the term store.\n\nIf you do not have English set as the default language for your tenant, in particular for your term store, the following modification should enable automated provisioning of the included terms found in the SP Starter Kit to your term store.\n\nBefore deploying the SP Starter Kit, complete the following tasks. If you have already attempted to deploy the starter kit and wish to remove the language code requirement to the terms, delete the Term Group `PnPTermSets` before continuing.\n\n1. Open [./provisioning/terms.xml](../provisioning/terms.xml) if your code editor, i.e. Visual Studio Code.\n2. Around line 5, look for the following:\n\n`<pnp:ProvisioningTemplate ... >`\n\n3. Within the <pnp:ProvisioningTemplate> tag, you should find: `TemplateCultureInfo=\"1033\"`. Remove `TemplateCultureInfo=\"1033\"`.\n4. Save terms.xml.\n5. Run `./provisioning/deploy.ps1` with your standard paramaters. This should add the PnPTermSets term group to your default language."
  },
  {
    "path": "lerna.json",
    "content": "{\n  \"packages\": [\n    \"source/**\"\n  ],\n  \"version\": \"0.0.0\"\n}\n"
  },
  {
    "path": "package/readme.md",
    "content": "## SharePoint Framework solution package - SP Starter Kit V1\n\nIt is recommended to package the solution as needed using the latest version of available code, but you can also upload the sppkg file available in this folder directly to your app catalog to speed up the setup process.\n\nThis .sppkg is a legacy package from SP Starter Kit V1.\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"root\",\n  \"private\": true,\n  \"scripts\": {\n    \"initialize\": \"lerna bootstrap\",\n    \"localization\": \"lerna run --scope @starter-kit/shared-library build\"\n  },\n  \"devDependencies\": {\n    \"lerna\": \"3.16.4\"\n  }\n}\n"
  },
  {
    "path": "provisioning/.vscode/launch.json",
    "content": "{\n    // Use IntelliSense to learn about possible attributes.\n    // Hover to view descriptions of existing attributes.\n    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387\n    \"version\": \"0.2.0\",\n    \"configurations\": [\n        {\n            \"type\": \"PowerShell\",\n            \"request\": \"launch\",\n            \"name\": \"PowerShell Launch Current File\",\n            \"script\": \"${file}\",\n            \"args\": [],\n            \"cwd\": \"${file}\"\n        },\n        {\n            \"type\": \"PowerShell\",\n            \"request\": \"launch\",\n            \"name\": \"PowerShell Launch Current File in Temporary Console\",\n            \"script\": \"${file}\",\n            \"args\": [],\n            \"cwd\": \"${file}\",\n            \"createTemporaryIntegratedConsole\": true\n        },\n        {\n            \"type\": \"PowerShell\",\n            \"request\": \"launch\",\n            \"name\": \"PowerShell Launch Current File w/Args Prompt\",\n            \"script\": \"${file}\",\n            \"args\": [\n                \"${command:SpecifyScriptArgs}\"\n            ],\n            \"cwd\": \"${file}\"\n        },\n        {\n            \"type\": \"PowerShell\",\n            \"request\": \"attach\",\n            \"name\": \"PowerShell Attach to Host Process\",\n            \"processId\": \"${command:PickPSHostProcess}\",\n            \"runspaceId\": 1\n        },\n        {\n            \"type\": \"PowerShell\",\n            \"request\": \"launch\",\n            \"name\": \"PowerShell Interactive Session\",\n            \"cwd\": \"${workspaceRoot}\"\n        }\n    ]\n}"
  },
  {
    "path": "provisioning/readme-sp2019.md",
    "content": "# SP Starter Kit Provisioning Guidance - SharePoint 2019 Only - Starter Kit V2 only\n\nProvided documentation for SharePoint 2019 - also note the limitations\n\nThe following documentation provides guidance related to the the provisioning process of **SP Starter Kit**.\n\n**For SharePoint 2019 only**\n\nThis document provides guidance on installing a full installation for **SP Starter Kit** for only **SharePoint 2019**. The installation includes one SPFx bundled solution per SPFx component, i.e. webpart or extentsion. Additional options exist, refer to [Choose the right method depending on your requirements](./readme.md#choose-the-right-method-depending-on-your-requirements).\n\nIt is recommended you read this entire document before installing the starter kit, in particular pay close attention to [Important notes](#important-notes) and [Fixing provisioning errors](#fixing-provisioning-errors)\n\n# Table of contents\n\n- [Choose the right method depending on your requirements](#choose-the-right-method-depending-on-your-requirements)\n- [Minimal path to success](#minimal-path-to-success)\n- [Important notes](#important-notes)\n- [Fixing provisioning errors](#fixing-provisioning-errors)\n- [Provisioning Parameters](#provisioning-parameters)\n\n## Choose the right method depending on your requirements\n\n- [Default installation](./readme.md#minimal-path-to-success) - SharePoint Online only, full installation, SPFx solution per component.\n\n- **[SharePoint 2019](./readme-sp2019.md)** - SharePoint 2019 ready, limited featureset.\n\n- [Only SPFx components](./readme-spfx-only.md) - Advanced - Only install SPFx solutions for SharePoint Online.\n\n- [Single solution installation - deprecated](./readme-single-solution.md) - SharePoint Online only, decrecated full installation, on SPFx solution for all components.\n\n## Minimal path to success\n\n**TODO**\n\n## Important notes\n\n**TODO**\n\n## Fixing provisioning errors\n\n**TODO**\n\n## Provisioning Parameters\n\n**TODO**\n\n### -Parameters ###\n\n**Optional**\n\n**TODO**"
  },
  {
    "path": "provisioning/readme-spfx-only.md",
    "content": "# SP Starter Kit Provisioning Guidance - SharePoint Online - SPFx solution packages only\n\nThe following documentation provides guidance related to a secondard provisioning process of the **SP Starter Kit**.\n\n**For SharePoint Online SPFx solution packages only**\n\nAdditional installation options exist, including the default provisioning method. Refer to [Choose the right method depending on your requirements](./readme.md#choose-the-right-method-depending-on-your-requirements).\n\nThis document provides guidance on installing only the SPFx solution packages (`.sppkg files`) for the **SP Starter Kit** for only **SharePoint Online**. The installation includes one SPFx bundled solution per SPFx component, i.e. webpart, extension, library.\n\nIt is recommended you read this entire document before installing the starter kit, in particular pay close attention to [Important notes](#important-notes) and [Fixing provisioning errors](#fixing-provisioning-errors).\n\n# Table of contents\n\n- [Minimal path to success](#minimal-path-to-success)\n- [Important notes](#important-notes)\n- [Fixing provisioning errors](#fixing-provisioning-errors)\n\n## Minimal path to success\n\n1. Ensure that you have met all **[Pre-requirements](../README.md#pre-requirements)**\n\n2. Open PowerShell and run the following commands, changing the tenant url to your primary SharePoint tenant site.\n\n   In order to successfully install the SP Starter Kit, you are required to install the latest [PnP PowerShell](https://github.com/pnp/powershell) (validated at version 1.12.0 or higher), which can be installed with the following PowerShell command:\n\n   ```powershell\n   Install-Module -Name PnP.PowerShell\n   ```\n\n3. After successfully installing PnP PowerShell, you need to connect to your tenant **using authorization credentials that have tenant administrative rigths**. This level of access is required to provision taxonomy.\n\n   ```powershell\n   Connect-PnPOnline -Url https://[yourtenant].sharepoint.com\n   ```\n\n4. Install the spfx only starter kit using the **Invoke-PnPTenantTemplate** PowerShell commandlet from this project's **./provisioning** folder:\n\n   ```powershell\n   Invoke-PnPTenantTemplate -Path starterkit-spfx-only.pnp\n   ```\n\n5. Upon successful provisioning, no error messages should appear. Validate all solution packages were installed by validating your tenant App Catalog\n\n   ![App catalog](../assets/images/provision-spfx-only-01.png)\n\n\n## Important notes\n\n- This provisioning method will not create any new SharePoint sites, nor will it change any existing SharePoint sites.\n\n- This provisioning method is a great example of how to create a custom provisioning template and should be used as a template for your own custom requirements.\n\n- This provisioning template may be modified and repackaged by editing **starterkit-spfx-only.xml** found in this project's **./source/templates** folder. After updating the .xml file, repackage the provisioning template. This may be accomplished with the following PowerShell commandlets:\n\n  ```powershell\n  $kit = Read-PnPTenantTemplate -Path ..\\source\\templates\\starterkit-spfx-only.xml\n  Save-PnPTenantTemplate -Template $kit -Out yourstarterkit.pnp\n  ```\n\n- Ensure the credentials you use to connect to your tenant have **tenant administrative rights**, or be a site collection administrator of the tenant app catalog site collection. This is required to provision to the tenant app catalog.\n\n\n## Fixing provisioning errors\n\n- If you run into errors during provisioning, refer to ['Common SP Starter Kit Provisioning results'](../documentation/common-provision-results.md) for additional suggestions and common mistakes\n\n- Refer to the ['Issues List'](https://github.com/SharePoint/sp-starter-kit/issues) to see if anyone else has run into a similar issue, and if so possible paths to success\n\n- ['Submit a new issue'](https://github.com/SharePoint/sp-starter-kit/issues) if you are unable to find a solution to your specific error or question"
  },
  {
    "path": "provisioning/readme.md",
    "content": "# SP Starter Kit Provisioning Guidance - SharePoint Online\n\nThe following documentation provides guidance related to the provisioning process of **SP Starter Kit**.\n\n**For SharePoint Online only**\n\nThis document provides guidance on installing a full installation for **SP Starter Kit** for only **SharePoint Online**. The installation includes one SPFx bundled solution per SPFx component, i.e. webpart, extension, library.\n\nIt is recommended you read this entire document before installing the starter kit, in particular pay close attention to [Common notes](#common-notes) and [Fixing provisioning errors](#fixing-provisioning-errors).\n\n# Table of contents\n\n- [Choose the right method depending on your requirements](#choose-the-right-method-depending-on-your-requirements)\n- [Minimal path to success](#minimal-path-to-success)\n- [Important notes](#important-notes)\n- [Fixing provisioning errors](#fixing-provisioning-errors)\n- [Pre-providing credentials](#pre-providing-credentials)\n- [Provisioning Parameters](#provisioning-parameters)\n\n\n## Choose the right method depending on your requirements\n\n- **[Default installation](#minimal-path-to-success)** - SharePoint Online only, full installation, one SPFx solution per component.\n\n- [Only SPFx components](./readme-spfx-only.md) - Advanced - Only install SPFx solutions to tenant app catalog, will not provision site designs, site scripts, sites, or content.\n\n- [Single solution installation - deprecated v1 starter kit](https://github.com/pnp/sp-starter-kit/tree/v1/provisioning/) - SharePoint Online only, deprecated full installation, one SPFx solution for all components.\n\n- [SharePoint 2019 - deprecated v2 starter kit](.https://github.com/pnp/sp-starter-kit/tree/v1/provisioning/readme-sp2019.md) - SharePoint 2019 ready, limited featureset.\n\n\n## Minimal path to success\n\n1. Ensure that you have met all **[Pre-requirements](../README.md#Pre-requirements)**\n\n2. Open PowerShell and run the following commands, changing the tenant url to your primary SharePoint tenant site.\n\n   In order to successfully install the SP Starter Kit, you are required to install the latest [PnP PowerShell](https://github.com/pnp/powershell) (validated at version 1.12.0 or higher), which can be installed with the following PowerShell command:\n\n   ```powershell\n   Install-Module -Name PnP.PowerShell\n   ```\n\n3. After successfully installing PnP PowerShell, you need to connect to your tenant **using authorization credentials that have tenant administrative rigths**. This level of access is required to provision taxonomy.\n\n   ```powershell\n   Connect-PnPOnline -Url https://[yourtenant].sharepoint.com\n   ```\n\n4. Install the starter kit using the **Invoke-PnPTenantTemplate** PowerShell commandlet from this project's **./provisioning** folder:\n\n   ```powershell\n   Invoke-PnPTenantTemplate -Path starterkit.pnp\n   ```\n\n\n## Important notes\n\n- By default the starter kit will create three site collections, using a common prefix of 'Contoso'. These sites will be called 'contosoportal' (a communications site), 'contosohr' (a team site), and 'contosomarketing' (a team site). \n\n  To customize the site collection urls, use the **-Parameters** commandlet parameter as follows:\n\n  ```powershell\n  Invoke-PnPTenantTemplate -Path starterkit.pnp -Parameters @{\"PORTALURL\"=\"/sites/contosoportal\"; \"MARKETINGALIAS\"=\"contosomarketing\";   \"HRALIAS\"=\"contosohr\" }\n  ```\n\n  Replace the values of **\"PORTALURL\"**, **\"MARKETINGALIAS\"**, and **\"HRALIAS\"** with your own custom site paths. The **PORTALURL** parameter is the tenant relative url for your main site collection. The two alias parameters are used to create modern team sites with connected Office 365 unified groups.\n\n- The tenant site you connect to via PowerShell, i.e. **https://[yourtenant].sharepoint.com**, is only used to create the initial connection to your tenant. During application of the starter kit, the three demo sites previously mentioned will be created within the connected tenant. If any of the site collections already exist, the starter kit provisioning process will reuse the existing site collections.\n\n- The site hierarchy of the sites created by the deployment process will be read from the starterkit.pnp file. If you want to modify this template you will have to modify and repackage **starterkit.xml** found in this project's **./source/templates** folder, into a new starterkit.pnp file. This may be accomplished with the following PowerShell commandlets:\n\n  ```powershell\n  $kit = Read-PnPTenantTemplate -Path ..\\source\\templates\\starterkit.xml\n  Save-PnPTenantTemplate -Template $kit -Out yourstarterkit.pnp\n  ```\n\n- Ensure the credentials you use to connect to your tenant have **tenant administrative rights**. We require this to provision the taxonomy parts.\n\n\n## Fixing provisioning errors\n\n- If you run into errors during provisioning, refer to ['Common SP Starter Kit Provisioning results'](../documentation/common-provision-results.md) for additional suggestions and common mistakes\n\n- Refer to the ['Issues List'](https://github.com/SharePoint/sp-starter-kit/issues) to see if anyone else has run into a similar issue, and if so possible paths to success\n\n- ['Submit a new issue'](https://github.com/SharePoint/sp-starter-kit/issues) if you are unable to find a solution to your specific error or question\n\n\n## Pre-providing credentials\n\nCredentials may be provided via the command line, or by using the ['Windows credential manager'](https://www.youtube.com/watch?v=w7NJ_qTK1l8).\n\n**Credentials provided via command line**\n\n```powershell\n$creds = Get-Credential\nConnect-PnPOnline https://[yourtenant].sharepoint.com -Credentials $creds\nInvoke-PnPTenantTemplate -Path .\\starterkit.pnp\n```\n\n\n## Provisioning Parameters\n\nThe deployment process may be configured with the following set of parameters that may be used in tandem with each other.\n\n### -Parameters ###\n\n**Optional**\n\nYou can override certain parameters, including:\n\n**Company** - defaults to \"Contoso Electronics\"\n**SiteUrlPrefix** - defaults to \"Contoso\"\n**WeatherCity** - defaults to \"Seattle\"\n**StockSymbol** - defaults to \"MSFT\"\n\n**PORTALURL** - the site path to the starter kit portal site url, defaults to \"/sites/contosoportal\"\n**MARKETINGALIAS** - the site path alias for the starter kit \"marketing\" team site, defaults to \"contosomarketing\"\n**HRALIAS** - the site path alias for the starter kit \"hr\" team site, defaults to \"contosohr\"\n\nOverride one or more setting using the **-Parameters** parameter similar to the following. Each paramater must be separated by a semicolon, i.e. **;**:\n\n```powershell\nInvoke-PnPTenantTemplate -Path .\\starterkit.pnp -Parameters @{\"Company\"=\"Your Company Name\";\"SiteUrlPrefix\"=\"YourCompany\";\"WeatherCity\"=\"Stockholm\"}\n```\n"
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/.gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# Developer settings files\nappsettings.Development.json\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015/2017 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# Visual Studio 2017 auto generated files\nGenerated\\ Files/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# Benchmark Results\nBenchmarkDotNet.Artifacts/\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n**/Properties/launchSettings.json\n\n# StyleCop\nStyleCopReport.xml\n\n# Files built by Visual Studio\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.iobj\n*.pch\n*.pdb\n*.ipdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# Visual Studio Trace Files\n*.e2e\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# AxoCover is a Code Coverage Tool\n.axoCover/*\n!.axoCover/settings.json\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# Note: Comment the next line if you want to checkin your web deploy settings,\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/[Pp]ackages/*\n# except build/, which is used as an MSBuild target.\n!**/[Pp]ackages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/[Pp]ackages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n*.appx\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Including strong name files can present a security risk \n# (https://github.com/github/gitignore/pull/2483#issue-259490424)\n#*.snk\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\nServiceFabricBackup/\n*.rptproj.bak\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n*.rptproj.rsuser\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush\n.cr/\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Tabs Studio\n*.tss\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n*.xsd.cs\n\n# OpenCover UI analysis results\nOpenCover/\n\n# Azure Stream Analytics local run output \nASALocalRun/\n\n# MSBuild Binary and Structured Log\n*.binlog\n\n# NVidia Nsight GPU debugger configuration file\n*.nvuser\n\n# MFractors (Xamarin productivity tool) working folder \n.mfractor/\n/Vostok1.WorkHub.Bots.v4.Documentation/SiteScripts/QnAFeedback.SiteScript.zip\n"
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/Controllers/CustomersController.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Microsoft.AspNetCore.Authorization;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Extensions.Logging;\nusing SharePointPnP.LobScenario.Models;\n\nnamespace SharePointPnP.LobScenario.Controllers\n{\n\t[Authorize]\n\t[ApiController]\n\t[Route(\"[controller]\")]\n\tpublic class CustomersController : ControllerBase\n\t{\n\t\tprivate readonly ILogger<CustomersController> _logger;\n\n\t\tpublic CustomersController(ILogger<CustomersController> logger)\n\t\t{\n\t\t\t_logger = logger;\n\t\t}\n\n\t\t// GET /customers\n\t\t[HttpGet]\n\t\tpublic LobResponse Get()\n\t\t{\n\t\t\treturn (new LobResponse\n\t\t\t{\n\t\t\t\tUsername = HttpContext.User.Identities.FirstOrDefault()?.Name,\n\t\t\t\tRequestDateTime = DateTime.Now,\n\t\t\t\tCustomers = Customers,\n\t\t\t});\n\t\t}\n\n\t\t// GET /customers/{customerId}\n\t\t[HttpGet]\n\t\t[Route(\"{customerId}\")]\n\t\tpublic LobResponse Get(string customerId)\n\t\t{\n\t\t\treturn (new LobResponse\n\t\t\t{\n\t\t\t\tUsername = HttpContext.User.Identities.FirstOrDefault()?.Name,\n\t\t\t\tRequestDateTime = DateTime.Now,\n\t\t\t\tCustomers = Customers.Where(c => c.CustomerID.ToLowerInvariant() == customerId.ToLowerInvariant())\n\t\t\t});\n\t\t}\n\n\t\t// GET /customers/search/Morgenstern Gesundkost\n\t\t[HttpGet]\n\t\t[Route(\"search/{searchValue}\")]\n\t\tpublic Models.LobResponse Search(string searchValue)\n\t\t{\n\t\t\treturn (new LobResponse\n\t\t\t{\n\t\t\t\tUsername = HttpContext.User.Identities.FirstOrDefault()?.Name,\n\t\t\t\tRequestDateTime = DateTime.Now,\n\t\t\t\tCustomers = Customers.Where(c => c.CustomerID.ToLowerInvariant() == searchValue.ToLowerInvariant() ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t c.CompanyName.Contains(searchValue, StringComparison.InvariantCultureIgnoreCase))\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t .ToList()\n\t\t\t});\n\t\t}\n\n\t\tprivate readonly List<Customer> Customers = new List<Customer> {\n\t\t\tnew Customer{ CustomerID = \"ALFKI\", CompanyName = \"Alfreds Futterkiste\",ContactName = \"Maria Anders\",Country = \"Germany\"            },\n\t\t\tnew Customer{ CustomerID = \"ANATR\", CompanyName = \"Ana Trujillo Emparedados y helados\", ContactName = \"Ana Trujillo\", Country = \"Mexico\" },\n\t\t\tnew Customer{ CustomerID = \"ANTON\", CompanyName = \"Antonio Moreno Taquería\", ContactName = \"Antonio Moreno\", Country = \"Mexico\" },\n\t\t\tnew Customer{ CustomerID = \"AROUT\", CompanyName = \"Around the Horn\", ContactName = \"Thomas Hardy\", Country = \"UK\" },\n\t\t\tnew Customer{ CustomerID = \"BERGS\", CompanyName = \"Berglunds snabbköp\", ContactName = \"Christina Berglund\", Country = \"Sweden\" },\n\t\t};\n\t}\n}"
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/Models/Customer.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\n\nnamespace SharePointPnP.LobScenario.Models\n{\n\tpublic class Customer\n\t{\n\t\tpublic string CustomerID { get; set; }\n\t\tpublic string CompanyName { get; set; }\n\t\tpublic string ContactName { get; set; }\n\t\tpublic string Country { get; set; }\n\t}\n}\n"
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/Models/LobResponse.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\n\nnamespace SharePointPnP.LobScenario.Models\n{\n\tpublic class LobResponse\n\t{\n\t\tpublic String Username { get; set; }\n\n\t\tpublic DateTime RequestDateTime { get; set; }\n\n\t\tpublic IEnumerable<Customer> Customers { get; set; }\n\t}\n}\n"
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/Program.cs",
    "content": "using Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.Hosting;\n\nnamespace SharePointPnP.LobScenario\n{\n\tpublic class Program\n\t{\n\t\tpublic static void Main(string[] args)\n\t\t{\n\t\t\tCreateHostBuilder(args).Build().Run();\n\t\t}\n\n\t\tpublic static IHostBuilder CreateHostBuilder(string[] args) =>\n\t\t\tHost.CreateDefaultBuilder(args)\n\t\t\t\t.ConfigureWebHostDefaults(webBuilder =>\n\t\t\t\t{\n\t\t\t\t\twebBuilder.UseStartup<Startup>();\n\t\t\t\t});\n\t}\n}\n"
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/README.md",
    "content": "\n# PnP SharePoint Starter Kit - LOB Service\n\nThis folder contains an ASP.NET Core 3.1 WebAPI application that emulates a LOB system, which you can consume through the LobIntegration sample client-side Web Part defined in the PnP Starter Kit project. Refer to the [react-lob-integration web part](../source/react-lob-integration/README.md) for setup instructions."
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/SharePointPnP.LobScenario.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk.Web\">\n\n  <PropertyGroup>\n    <TargetFramework>netcoreapp3.1</TargetFramework>\n    <RootNamespace>SharePointPnP.LobScenario</RootNamespace>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.AspNetCore.Authentication.AzureAD.UI\" Version=\"3.1.0\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/SharePointPnP.LobScenario.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.29519.87\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"SharePointPnP.LobScenario\", \"SharePointPnP.LobScenario.csproj\", \"{CC02B119-8511-4975-868A-F5248CD6C861}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{CC02B119-8511-4975-868A-F5248CD6C861}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{CC02B119-8511-4975-868A-F5248CD6C861}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{CC02B119-8511-4975-868A-F5248CD6C861}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{CC02B119-8511-4975-868A-F5248CD6C861}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {6289362E-6162-4286-AECC-14C70C914E2B}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/Startup.cs",
    "content": "using Microsoft.AspNetCore.Authentication;\nusing Microsoft.AspNetCore.Authentication.AzureAD.UI;\nusing Microsoft.AspNetCore.Authentication.JwtBearer;\nusing Microsoft.AspNetCore.Builder;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.Configuration;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Hosting;\nusing Microsoft.IdentityModel.Logging;\n\nnamespace SharePointPnP.LobScenario\n{\n\tpublic class Startup\n\t{\n\t\tpublic Startup(IConfiguration configuration)\n\t\t{\n\t\t\tConfiguration = configuration;\n\t\t}\n\n\t\tpublic IConfiguration Configuration { get; }\n\n\t\t// This method gets called by the runtime. Use this method to add services to the container.\n\t\tpublic void ConfigureServices(IServiceCollection services)\n\t\t{\n\t\t\tvar azureadoptions = new AzureADOptions();\n\t\t\tConfiguration.Bind(\"AzureAd\", azureadoptions);\n\t \n\t\t\tIdentityModelEventSource.ShowPII = true;\n\n\t\t\tservices.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme)\n\t\t\t\t\t.AddAzureADBearer(options => Configuration.Bind(\"AzureAd\", options));\n\n\t\t\tservices.Configure<JwtBearerOptions>(AzureADDefaults.JwtBearerAuthenticationScheme, options =>\n\t\t\t{\n\t\t\t\t// This is a Microsoft identity platform web API.\n\t\t\t\toptions.Authority += \"/v2.0\";\n\n\t\t\t\t// The web API accepts as audiences both the Client ID (options.Audience) and api://{ClientID}.\n\t\t\t\toptions.TokenValidationParameters.ValidAudiences = new[]\n\t\t\t\t{\n\t\t\t\t\toptions.Audience,\n\t\t\t\t\t$\"api://{options.Audience}\"\n\t\t\t\t};\n\t\t\t\toptions.TokenValidationParameters.ValidateAudience = true;\n\n\t\t\t\toptions.TokenValidationParameters.ValidIssuer = $\"https://sts.windows.net/{azureadoptions.TenantId}/\"; // for \"signInAudience\": \"AzureADMyOrg\" or \"AzureADMultipleOrgs\"\n\t\t\t\toptions.TokenValidationParameters.ValidateIssuer = true;\n\t\t\t});\n\n\t\t\tservices.AddControllers();\n\n\t\t\tservices.AddCors(options =>\n\t\t\t{\n\t\t\t\toptions.AddPolicy(\"AllowSubdomain\",\n\t\t\t\tbuilder =>\n\t\t\t\t{\n\t\t\t\t\tbuilder.SetIsOriginAllowedToAllowWildcardSubdomains()\n\t\t\t\t\t\t\t\t.WithOrigins(\"https://*.sharepoint.com\")\n\t\t\t\t\t\t\t\t.AllowAnyHeader()\n\t\t\t\t\t\t\t\t.AllowAnyMethod();\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\t// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.\n\t\tpublic void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n\t\t{\n\t\t\tif (env.IsDevelopment())\n\t\t\t{\n\t\t\t\tapp.UseDeveloperExceptionPage();\n\t\t\t}\n\n\t\t\tapp.UseHttpsRedirection();\n\n\t\t\tapp.UseRouting();\n\n\t\t\tapp.UseCors(\"AllowSubdomain\");\n\n\t\t\tapp.UseAuthentication()\n\t\t\t\t .UseAuthorization();\n\n\t\t\tapp.UseEndpoints(endpoints =>\n\t\t\t{\n\t\t\t\tendpoints.MapControllers();\n\t\t\t});\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "sample-lob-service/SharePointPnP.LobScenario/appsettings.json",
    "content": "{\n\t\"AzureAd\": {\n\t\t\"Instance\": \"https://login.microsoftonline.com/\",\n\t\t\"TenantId\": \"22222222-2222-2222-2222-222222222222\",\n\t\t\"ClientId\": \"11111111-1111-1111-11111111111111111\"\n\t},\n\t\"Logging\": {\n\t\t\"LogLevel\": {\n\t\t\t\"Default\": \"Information\",\n\t\t\t\"Microsoft\": \"Warning\",\n\t\t\t\"Microsoft.Hosting.Lifetime\": \"Information\"\n\t\t}\n\t},\n\t\"AllowedHosts\": \"*\"\n}\n"
  },
  {
    "path": "source/README.md",
    "content": "# Individual solutions of the Starter Kit\n\nStarting from SharePoint Starter Kit v2, each web part and be taken into use independently without requirement to deploy them all to your tenant. Those solutions which do not have cloud dependencies, and with V3, may only be used on SharePoint Online. On-premises SharePoint is no longer supported. Supportability of each solution is explicitly called out in the solution level.\n\nSolution structure as as follows:\n\nSolution |  Description  | Environment\n----------- | ----------- | -----------\n[js-application-redirect](js-application-redirect/README.md) | Can be used to perform automatic redirections of URLs in the site based on a custom list. | SPO\n[library-starter-kit-shared](library-starter-kit-shared/README.md) | Shows the list of sites which particular user is following | SPO\n[rest-application-alerts](rest-application-alerts/README.md) | Shows informational or important messages in the header section of pages based on a custom list information in the hub site. | SPO\n[react-application-collab-footer](react-application-collab-footer/README.md) | Shows company wide links which are configured using Taxonomy service. Includes also personalized links which are stored in user profile property if set. | SPO\n[react-application-portal-footer](react-application-portal-footer/README.md) | Expanding footer for communication site. Show standard company links and also supports personalized links for the current user which are stored in User Profile. | SPO\n[react-banner](react-banner/README.md) | Creates a banner with an image and overlaid text. | SPO\n[react-command-discuss-now](react-command-discuss-now/README.md) | Custom list view command set to add new custom dialog for document library to start discussion around the document in Microsoft Teams using Graph APIs | SPO\n[react-followed-sites](react-followed-sites/README.md) | Shows the list of sites which particular user is following. | SPO\n[react-links](react-links/README.md) | Link list web part which is using collection data editor and stores the links in web part properties. | SPO\n[react-lob-integration](react-lob-integration/README.md) | Sample web part to surface LOB information from API hosted in Azure. | SPO\n[react-people-directory](react-people-directory/README.md) | People directory web part uses the people search API to get list of people to show. | SPO\n[react-personal-calendar](react-personal-calendar/README.md) | Shows upcoming calendar meetings for the particular user using Microsoft Graph. | SPO\n[react-react-personal-contacts](react-react-personal-contacts/README.md) | Personal contacts for particular user using Microsoft Graph. | SPO\n[react-personal-email](react-personal-email/README.md) | List latest personal emails for the current user using Microsoft Graph. | SPO\n[react-personal-tasks](react-personal-tasks/README.md) | Show personal tasks for the current user using Microsoft Graph with Graph Tool Kit. | SPO\n[react-recent-contacts](react-recent-contacts/README.md) | Show recent contacts for the current user using Microsoft Graph. | SPO\n[react-recently-used-documents](react-recently-used-documents/README.md) | Show recently used documents for the current user using Microsoft Graph. | SPO\n[react-recently-visited-sites](react-recently-visited-sites/README.md) | Show recently visited sites for current user using Microsoft Graph. | SPO\n[react-site-information](react-site-information/README.md) | Intended to collect and present additional metadata for group associated or normal team sites. | SPO\n[react-tiles](react-tiles/README.md) | Renders set of tiles. Icons are from Office UI Fabric and you can configure tiles using collection editor in web part properties. | SPO\n[react-weather](react-weather/README.md) | Weather web part targeted for SP2019 as SPO has out-of-the-box one. | SPO\n[react-tiles](react-world-clock/README.md) | World clock web part targeted for SP2019 as SPO has out-of-the-box one. | SPO\n\n## Installation\n\nIn order to run the project locally, we make use of [lerna](https://github.com/lerna/lerna). This tool will automatically set the `npm` linking correctly for the SPFx library component. \n\nFollow the next steps when you want to run this project on your own machine:\n\n- Clone the project: `git clone https://github.com/SharePoint/sp-starter-kit`\n- Navigate with your terminal to the cloned repository\n- Run: `npm i`\n- Once the root project dependencies are installed, you can run `npm run initialize`\n- Once all the packages are installed, you are ready to start developing\n\n## Localization\n\nAll localization keys and labels are managed from one library project [library-starter-kit-shared](./library-starter-kit-shared). In order to add/update new keys, all you have to do is add them to the appropriate localization files like `en-us.js`.\n\nOnce added, run `gulp build` or run `npm run localization` on the root of the project. This ensures that the project updates the `LocaleKeys` enum.\n\n> **Important**: The version of the localization project should always be in sync in the projects which make use of it."
  },
  {
    "path": "source/js-application-redirect/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/js-application-redirect/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/default'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 0,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 0,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 0,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // no-useless-escape\n        // ====================================================================\n        'no-useless-escape': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/js-application-redirect/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n\n# Package Lock\npackage-lock.json\n"
  },
  {
    "path": "source/js-application-redirect/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode"
  },
  {
    "path": "source/js-application-redirect/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/js-application-redirect/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/js-application-redirect/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"js-application-redirect\",\n    \"libraryId\": \"16ba7527-a398-43f7-9f20-7b050e49887e\",\n    \"packageManager\": \"npm\",\n    \"componentType\": \"extension\",\n    \"extensionType\": \"ApplicationCustomizer\"\n  }\n}"
  },
  {
    "path": "source/js-application-redirect/README.md",
    "content": "# Redirect Application Customizer\n\nRedirect from URL based on mapping from a list on the site. Can be used to automatically redirect from pages to other locations.\n\nThe redirection paths are administered via a SharePoint list named \"PnP Redirect Links\" that is hosted by the site that is set to use the redirect extension.\n\nThe list is automatically created by the extension if it is not found, dependent upon the current user loading the site has sufficient permissions to add a new list.\n\n![Redirection Extension](../../assets/images/components/ext-redirects.gif)\n\n> Screenshot is from the v1 version.\n\n\n## PnP Redirect Links list details\n\nThis extension is dependent on a explicit `PnP Redirect Links` list that must be located in the current site that is utilizing the redirect extension.\n\n| Display Name | Name | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Source URL | PnPSourceUrl | Hyperlink | yes | The path of the source page |\n| Destination URL | PnPDestinationUrl | Hyperlink | yes | The path of the destination page |\n| Redirection Enabled | PnPRedirectionEnabled | Boolean | yes | Should the particular redirection occur |\n\n> Notice by default the extension will automatically create this list if it is not found in the current site, assuming the current user has the appropriate permissions to add a new list.\n\nOriginal v1 implementation located at https://github.com/SharePoint/sp-starter-kit/blob/master/solution/src/extensions/redirect/RedirectApplicationCustomizer.ts\n\nIn v2 release repackaged as its own solution to provide more flexibility from deployment perspective.\n\nIn v3 release, SPFx was upgraded to version 1.16.1.\n\n## Creating a redirection entry\n\nAssume you have a url, **https://contoso.sharepoint.com/sites/contoso/sitepages/oldnews.aspx**, and you wish to automatically redirect visitors to this oldnews.aspx page to **https://contoso.sharepoint.com/sites/news/sitepages/news.aspx**.\n\n- Within the site, **https://contoso.sharepoint.com/sites/contoso/**, you will need to enable the redirect extension and ensure the \"PnP Redirect Links\" list is created by the extension by loading any page within the site. If the list does not get automatically created, check to ensure your user account has sufficient permissions to add lists to the site, and also validate the extension is loading.\n\n- Create a new list item in \"PnP Redirect Links\".\n\n- List item settings:\n  - Source Url: /sites/contoso/sitepages/oldnews.aspx\n  - Destination Url: https://contoso.sharepoint.com/sites/news/sitepages/news.aspx\n  - Redirection Enabled: yes\n\n- After you save the list item, reload oldnews.aspx and you should be automatically redirected to the destination url.\n\n- If the redirection does not occur, check the console log or network trace to validate that the extension was loaded.\n\n\n## Installing the extension\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/pnp/sp-starter-kit) for basic installation of the SP Starter Kit which includes installing the application customizer's sppkg to the tenant app catalog, and activating the extension on the hub site and associated team sites.\n\nYou can also download just the [extension (sppkg) file](./sharepoint/solution/js-application-redirect.sppkg) and install that to your tenant's app catalog. This extension does not have external dependencies.\n\n> As this is a SharePoint Framework extension, you will need to explicitly enable this extension in a site using CSOM, REST APIs, PnP PowerShell, or PnP cli.\n\n**A common approach to activate the extention on a given site connection is to use PnP PowerShell commandlets:**\n\n  ```powershell\n  Connect-PnPOnline https://contosodemosk.sharepoint.com/sites/site-to-configure\n  Add-PnPCustomAction -Name \"Redirect\" -Title \"Redirect\" -ClientSideComponentId 27f45dfa-839e-45c2-a379-fbfe627ed97c -Location \"ClientSideExtension.ApplicationCustomizer\" -ClientSideComponentProperties \"{&quot;redirectionsListTitle&quot;:&quot;PnP Redirect Links&quot;}\" -Scope Site\n  ```\n\n> Set the full url and path of the Connect-PnPOnline commandlet to fit your specific tenant / site\n\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nExtension creates the needed list automatically if it's missing and user has sufficient permissions for the creation operation.\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nsolution/src/extensions/redirect | Paolo Pialorsi (@PaoloPia)\njs-application-redirect | Sébastien Levert (@sebastienlevert)\njs-application-redirect | Chandani Prajapati (@Chandani_SPD)\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|April 22, 2018|Initial release\n2.0|December 29, 2019|v2.0\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to correct folder where solution exists\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n## Features\n\nKey features demostrated by this solution:\n\n* PnPjs usage in the solution\n* Dynamic creation of the list if it's missing\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/js-application-redirect\" />\n"
  },
  {
    "path": "source/js-application-redirect/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"redirect-application-customizer\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/extensions/redirect/RedirectApplicationCustomizer.js\",\n          \"manifest\": \"./src/extensions/redirect/RedirectApplicationCustomizer.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"RedirectApplicationCustomizerStrings\": \"lib/extensions/redirect/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/js-application-redirect/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"js-application-redirect\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/js-application-redirect/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - JS Redirect app customizer\",\n    \"id\": \"16ba7527-a398-43f7-9f20-7b050e49887e\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"js-application-redirect description\"\n      },\n      \"longDescription\": {\n        \"default\": \"js-application-redirect description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - JS Redirect app customizer - Deployment of custom action.\",\n        \"description\": \"Deploys a custom action within the Starter Kit - JS Redirect app customizer solution\",\n        \"id\": \"c2d231d3-39ae-4f69-a958-44c5762354e0\",\n        \"version\": \"2.0.0.0\",\n        \"assets\": {\n          \"elementManifests\": [\n            \"elements.xml\"\n          ]\n        }\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/js-application-redirect.sppkg\"\n  }\n}"
  },
  {
    "path": "source/js-application-redirect/config/sass.json",
    "content": "{\n    \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/js-application-redirect/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"serveConfigurations\": {\n    \"default\": {\n      \"pageUrl\": \"https://contoso.sharepoint.com/sites/pnp-starter-kit/SitePages/Home.aspx\",\n      \"customActions\": {\n        \"27f45dfa-839e-45c2-a379-fbfe627ed97c\": {\n          \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n          \"properties\": {\n            \"redirectionsListTitle\": \"PnPRedirections\"\n          }\n        }\n      }\n    },\n    \"redirect\": {\n      \"pageUrl\": \"https://contoso.sharepoint.com/sites/pnp-starter-kit/SitePages/Home.aspx\",\n      \"customActions\": {\n        \"27f45dfa-839e-45c2-a379-fbfe627ed97c\": {\n          \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n          \"properties\": {\n            \"redirectionsListTitle\": \"PnPRedirections\"\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "source/js-application-redirect/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/js-application-redirect/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));"
  },
  {
    "path": "source/js-application-redirect/package.json",
    "content": "{\n  \"name\": \"js-application-redirect\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/decorators\": \"1.16.1\",\n    \"@microsoft/sp-application-base\": \"1.16.1\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-dialog\": \"1.16.1\",\n    \"@pnp/sp\": \"3.11.0\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@microsoft/sp-tslint-rules\": \"1.14.0\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/es6-promise\": \"0.0.33\",\n    \"@types/webpack-env\": \"1.15.2\",\n    \"ajv\": \"6.12.5\",\n    \"eslint\": \"8.7.0\",\n    \"gulp\": \"4.0.2\",\n    \"tslint-microsoft-contrib\": \"5.0.0\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/js-application-redirect/sharepoint/assets/ClientSideInstance.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n</Elements>\n"
  },
  {
    "path": "source/js-application-redirect/sharepoint/assets/elements.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n    <CustomAction\n        Title=\"Redirect\"\n        Location=\"ClientSideExtension.ApplicationCustomizer\"\n        ClientSideComponentId=\"27f45dfa-839e-45c2-a379-fbfe627ed97c\"\n        ClientSideComponentProperties=\"{&quot;redirectionsListTitle&quot;:&quot;PnP Redirect Links&quot;}\">\n    </CustomAction>\n</Elements>\n"
  },
  {
    "path": "source/js-application-redirect/src/extensions/redirect/IRedirectApplicationCustomizerProperties.ts",
    "content": "export interface IRedirectApplicationCustomizerProperties {\n    // Defines the Title of the list that holds the redirection items\n    redirectionsListTitle: string;\n}"
  },
  {
    "path": "source/js-application-redirect/src/extensions/redirect/IRedirection.ts",
    "content": "// this interface defines a redirection item\nexport interface IRedirection {\n    // defines the relative URL of the source page to redirect from\n    sourceRelativeUrl: string;\n    // defines the relative or absolute URL of the destination page to redirect to\n    destinationUrl: string;\n    // declares whether the redirection is enabled or not\n    enabled: boolean;\n}"
  },
  {
    "path": "source/js-application-redirect/src/extensions/redirect/RedirectApplicationCustomizer.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-extension-manifest.schema.json\",\n\n  \"id\": \"27f45dfa-839e-45c2-a379-fbfe627ed97c\",\n  \"alias\": \"RedirectApplicationCustomizer\",\n  \"componentType\": \"Extension\",\n  \"extensionType\": \"ApplicationCustomizer\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false\n}\n"
  },
  {
    "path": "source/js-application-redirect/src/extensions/redirect/RedirectApplicationCustomizer.ts",
    "content": "import { override } from '@microsoft/decorators';\nimport { Log } from '@microsoft/sp-core-library';\nimport {\n  BaseApplicationCustomizer\n} from '@microsoft/sp-application-base';\n\nimport * as strings from 'RedirectApplicationCustomizerStrings';\nimport { IRedirectApplicationCustomizerProperties } from './IRedirectApplicationCustomizerProperties';\nimport { IRedirection } from './IRedirection';\nimport { IListEnsureResult, SPFI, spfi, SPFx } from '@pnp/sp/presets/all';\nimport { UrlFieldFormatType, IFieldAddResult, IField } from \"@pnp/sp/fields\";\n\nconst LOG_SOURCE: string = 'RedirectApplicationCustomizer';\n\n/** A Custom Action which can be run during execution of a Client Side Application */\nexport default class RedirectApplicationCustomizer\n  extends BaseApplicationCustomizer<IRedirectApplicationCustomizerProperties> {\n\n  private readonly FIELD_INTERNALNAME_SOURCEURL: string = 'PnPSourceUrl';\n  private readonly FIELD_INTERNALNAME_DESTINATIONURL: string = 'PnPDestinationUrl';\n  private readonly FIELD_INTERNALNAME_REDIRECTIONENABLED: string = 'PnPRedirectionEnabled';\n  private _sp : SPFI;\n  // private _web: IWeb;\n\n  @override\n  public async onInit(): Promise<void> {\n    await super.onInit();\n\n    Log.info(LOG_SOURCE, `Initialized ${strings.Title}`);\n\n    // ensure to have proper settings\n    if (!this.properties || !this.properties.redirectionsListTitle) {\n      Log.info(LOG_SOURCE, 'No properties were provided');\n      return;\n    }\n\n    this._sp = spfi().using(SPFx(this.context));\n\n    // read the server relative URL of the current page from Legacy Page Context\n    const currentPageRelativeUrl: string = this.context.pageContext.legacyPageContext.serverRequestPath;\n\n    // currentPageRelativeUrl will look similar to: /sites/contosoportal/SitePages/Home.aspx\n\n    // Getting the current SharePoint Web URL\n    // this._web = Web(this.context.pageContext.web.absoluteUrl);\n\n    // search for a redirection rule for the current page, if any\n    const redirection: IRedirection = await this.loadRedirectionForCurrentPage(\n      this.properties.redirectionsListTitle, currentPageRelativeUrl);\n\n    if (redirection) {\n      // redirect to the target page, if any\n      window.location.href = redirection.destinationUrl;\n    }\n  }\n\n  private async loadRedirectionForCurrentPage(redirectionsListTitle: string, currentPageRelativeUrl: string):\n    Promise<IRedirection> {\n\n    let result: IRedirection = undefined;\n\n    // first of all, exclude redirection for the list of redirections\n    if (currentPageRelativeUrl.indexOf(`Lists/${redirectionsListTitle}/AllItems.aspx`) < 0) {\n\n      // ensures that the PnPRedirections lists exists\n      // it will fail if a user doesn't have correct permissions, but we won't limit this to prevent subsequent execution\n      await this.ensureRedirectionsList(redirectionsListTitle).catch(error=>{\n        console.log(\"Unable to call Ensure(). User does not have enough permissions.\");\n      });\n\n      // define a CAML query to get the redirection item for the current page, if any\n      const query = {\n        ViewXml: `<View><Query>\n        <Where>\n          <And>\n            <Eq>\n              <FieldRef Name='${this.FIELD_INTERNALNAME_REDIRECTIONENABLED}'/>\n              <Value Type='Boolean'>1</Value>\n            </Eq>\n            <Contains>\n              <FieldRef Name='${this.FIELD_INTERNALNAME_SOURCEURL}'/>\n              <Value Type='URL'>${currentPageRelativeUrl}</Value>\n            </Contains>\n          </And>\n        </Where>\n        <RowLimit>1</RowLimit>\n        </Query></View>`\n      };\n\n      // search for items matching the query\n      // tslint:disable-next-line: no-any\n      const queryResult: any = await this._sp.web.lists.getByTitle(redirectionsListTitle).getItemsByCAMLQuery(query);\n\n      if (queryResult && queryResult.length > 0) {\n\n        // if there are any items, get the first one only to build the result\n        // tslint:disable-next-line: no-any\n        const firstResult: any = queryResult[0];\n        result = {\n          sourceRelativeUrl: firstResult[this.FIELD_INTERNALNAME_SOURCEURL].Url,\n          destinationUrl: firstResult[this.FIELD_INTERNALNAME_DESTINATIONURL].Url,\n          enabled: firstResult[this.FIELD_INTERNALNAME_REDIRECTIONENABLED]\n        };\n      }\n    }\n\n    return(result);\n  }\n\n  // this method ensures that the Redirections lists exists, or if it doesn't exist\n  // it creates it, as long as the currently connected user has proper permissions\n  private async ensureRedirectionsList(redirectionsListTitle: string): Promise<boolean> {\n\n    let result: boolean = false;\n\n    try {\n      const ensureResult: IListEnsureResult = await this._sp.web.lists.ensure(redirectionsListTitle,\n        'Redirections',\n        100,\n        true);\n\n      // if we've got the list\n      if (ensureResult.list) {\n        // if the list has just been created\n        if (ensureResult.created) {\n          // we need to add the custom fields to the list\n          const sourceUrlFieldAddResult: IFieldAddResult = await ensureResult.list.fields.addUrl(\n            this.FIELD_INTERNALNAME_SOURCEURL, { DisplayFormat: UrlFieldFormatType.Hyperlink, Required: true }\n          );\n          await sourceUrlFieldAddResult.field.update({ Title: strings.FieldSourceUrlTitle });\n          const destinationUrlFieldAddResult: IFieldAddResult = await ensureResult.list.fields.addUrl(\n            this.FIELD_INTERNALNAME_DESTINATIONURL, { DisplayFormat: UrlFieldFormatType.Hyperlink, Required: true }\n          );\n          await destinationUrlFieldAddResult.field.update({ Title: strings.FieldDestinationUrlTitle });\n          const redirectionEnabledFieldAddResult: IFieldAddResult = await ensureResult.list.fields.addBoolean(\n            this.FIELD_INTERNALNAME_REDIRECTIONENABLED,\n            { Required: true });\n          await redirectionEnabledFieldAddResult.field.update({ Title: strings.FieldRedirectionEnabledTitle });\n\n          // the list is ready to be used\n          result = true;\n        } else {\n          // the list already exists, double check the fields\n          try {\n            const sourceUrlField: IField = ensureResult.list.fields.getByInternalNameOrTitle(\n              this.FIELD_INTERNALNAME_SOURCEURL);\n            const destinationUrlField: IField = ensureResult.list.fields.getByInternalNameOrTitle(\n              this.FIELD_INTERNALNAME_DESTINATIONURL);\n            const redirectionEnabledField: IField = ensureResult.list.fields.getByInternalNameOrTitle(\n              this.FIELD_INTERNALNAME_REDIRECTIONENABLED);\n\n            // if it is all good, then the list is ready to be used\n            result = (sourceUrlField && destinationUrlField && redirectionEnabledField) !== undefined;\n          } catch (e) {\n            // if any of the fields does not exist, raise an exception in the console log\n            console.log(`The ${redirectionsListTitle} list does not match the expected fields definition.`);\n          }\n        }\n      }\n    } catch (e) {\n      // if we fail to create the list, raise an exception in the console log\n      console.log(`Failed to create custom list ${redirectionsListTitle}.`);\n    }\n\n    return(result);\n  }\n}\n"
  },
  {
    "path": "source/js-application-redirect/src/extensions/redirect/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    FieldRedirectionEnabledTitle: \"Redirection Enabled\",\n    FieldDestinationUrlTitle: \"Destination URL\",\n    FieldSourceUrlTitle: \"Source URL\",\n    Title: \"RedirectApplicationCustomizer\"\n  }\n});"
  },
  {
    "path": "source/js-application-redirect/src/extensions/redirect/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    FieldRedirectionEnabledTitle: \"Redirection activée\",\n    FieldDestinationUrlTitle: \"URL de destination\",\n    FieldSourceUrlTitle: \"URL initiale\",\n    Title: \"RedirectApplicationCustomizer\"\n  }\n});"
  },
  {
    "path": "source/js-application-redirect/src/extensions/redirect/loc/myStrings.d.ts",
    "content": "declare interface IRedirectApplicationCustomizerStrings {\n  FieldRedirectionEnabledTitle: string;\n  FieldDestinationUrlTitle: string;\n  FieldSourceUrlTitle: string;\n  Title: string;\n}\n\ndeclare module 'RedirectApplicationCustomizerStrings' {\n  const strings: IRedirectApplicationCustomizerStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/js-application-redirect/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/js-application-redirect/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}"
  },
  {
    "path": "source/library-starter-kit-shared/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/library-starter-kit-shared/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/default'],\n  parserOptions: { tsconfigRootDir: __dirname }\n};"
  },
  {
    "path": "source/library-starter-kit-shared/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\ntemp\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n\n.heft\nlibrary\npackage-lock.json"
  },
  {
    "path": "source/library-starter-kit-shared/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/library-starter-kit-shared/.vscode/extensions.json",
    "content": "{\n  \"recommendations\": [\n    \"msjsdiag.debugger-for-chrome\"\n  ]\n}"
  },
  {
    "path": "source/library-starter-kit-shared/.vscode/launch.json",
    "content": "{\n  /**\n   * Install Chrome Debugger Extension for Visual Studio Code to debug your components with the\n   * Chrome browser: https://aka.ms/spfx-debugger-extensions\n   */\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    },\n    {\n      \"type\": \"pwa-chrome\"\n    }\n  ]\n}"
  },
  {
    "path": "source/library-starter-kit-shared/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/library-starter-kit-shared/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"isCreatingSolution\": true,\n    \"environment\": \"spo\",\n    \"version\": \"1.16.1\",\n    \"libraryName\": \"library-starter-kit-shared\",\n    \"libraryId\": \"3e313dee-8a65-4ee7-a5c2-59670e43c6d2\",\n    \"packageManager\": \"npm\",\n    \"isDomainIsolated\": false,\n    \"componentType\": \"library\",\n    \"nodeVersion\": \"16.15.0\",\n    \"sdkVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    }\n  }\n}"
  },
  {
    "path": "source/library-starter-kit-shared/README.md",
    "content": "# Library for shared features for SharePoint Online\n\n## Summary\n\nA SharePoint Framework shared library that includes an approach to share langauge strings across multiple SharePoint Framework webparts. Currently used by the [Followed Sites webpart](../react-followed-sites/README.md)\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nOnly works in SharePoint Online due to version dependency.\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nlibrary-starter-kit-shared | Eric Overfield\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|December 25, 2019|Initial release for SharePoint Starter Kit v2\n3.0|February 2023|Update to SPFx 1.16.1 - V3 of Starter Kit\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n1. Clone this repository\n2. Within the [library-starter-kit-shared](../library-starter-kit-shared) source, i.e. [./source/library-starter-kit-shared](../library-starter-kit-shared)\n3. in the command line run:\n  ```powershell\n  npm install\n  gulp build\n  gulp bundle\n  npm link\n  ```\n4. This project may now we consumed by another SPFx project. For an example, refer to the included SPFx webpart, [./source/react-followed-sites](../react-followed-sites)\n* Reference library component in other solutions to make things work - https://learn.microsoft.com/en-us/sharepoint/dev/spfx/library-component-tutorial\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/library-starter-kit-shared\" />\n"
  },
  {
    "path": "source/library-starter-kit-shared/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"sp-starter-kit-shared-library\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/index.js\",\n          \"manifest\": \"./src/libraries/spStarterKitShared/SpStarterKitSharedLibrary.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"SpStarterKitSharedLibraryStrings\": \"lib/libraries/spStarterKitShared/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/library-starter-kit-shared/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"library-starter-kit-shared\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/library-starter-kit-shared/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Shared Library\",\n    \"id\": \"3e313dee-8a65-4ee7-a5c2-59670e43c6d2\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"library-starter-kit-shared-client-side-solution description\"\n      },\n      \"longDescription\": {\n        \"default\": \"library-starter-kit-shared-client-side-solution description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"@starter-kit/shared-library Shared Library Feature\",\n        \"description\": \"The feature that activates Shared Library from the @starter-kit/shared-library solution.\",\n        \"id\": \"849381c3-2209-441c-a559-2dc6a5c0cb63\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"849381c3-2209-441c-a559-2dc6a5c0cb63\"\n        ]\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/library-starter-kit-shared.sppkg\"\n  }\n}\n"
  },
  {
    "path": "source/library-starter-kit-shared/config/sass.json",
    "content": "{\n    \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/library-starter-kit-shared/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 43211,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/library-starter-kit-shared/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/library-starter-kit-shared/gulpfile.generatelocalkeys.js",
    "content": "const gulp = require('gulp');\nconst build = require('@microsoft/sp-build-web');\nconst fs = require('fs');\nconst path = require('path');\n\nfunction getKeyValuePairs(fileContents) {\n  let localeKeyValue = [];\n  // Check if file contents were passed\n  if (fileContents) {\n    // Find the position of the return statement\n    const fileLines = fileContents.split(\"\\n\");\n    const returnIdx = fileLines.findIndex(line => {\n      const matches = line.trim().match(/(^return|{$)/gi);\n      return matches !== null && matches.length >= 2;\n    });\n\n    // Check if the index has been found\n    if (returnIdx !== -1) {\n      // Loop over all the lines\n      for (const line of fileLines) {\n        const lineVal = line.trim();\n        // Get the colon location\n        const colonIdx = lineVal.indexOf(\":\");\n        if (colonIdx !== -1) {\n          const keyName = lineVal.substring(0, colonIdx);\n          let keyValue = lineVal.substring((colonIdx + 1));\n          keyValue = keyValue.trim();\n          keyValue = stripQuotes(keyValue);\n\n          // Add the key and value to the array\n          if (keyName && keyValue) {\n            localeKeyValue.push({\n              key: stripQuotes(keyName),\n              value: keyValue\n            });\n          }\n        }\n      }\n    }\n  }\n\n  return localeKeyValue;\n}\n\nfunction stripQuotes(value) {\n  // Strip the comma\n  if (value.endsWith(\",\")) {\n    value = value.substring(0, value.length - 1);\n  }\n\n  if ((value.startsWith(`'`) && value.endsWith(`'`)) ||\n      (value.startsWith(`\"`) && value.endsWith(`\"`)) ||\n      (value.startsWith(\"`\") && value.endsWith(\"`\"))) {\n    return value.substring(1, value.length - 1);\n  }\n\n  return value;\n}\n\n/**\n * Generate the locale keys from the en-us.js file\n */\nconst generateLocaleKeys = build.task('generateLocaleKeys', {\n  execute: async (config) => {\n    const fileContents = fs.readFileSync(path.join(__dirname, './src/libraries/spStarterKitShared/loc/en-us.js'), { encoding: \"utf8\" });\n    if (fileContents) {\n      const keyPairs = getKeyValuePairs(fileContents);\n      if (keyPairs && keyPairs.length > 0) {\n        let enumInfo = [];\n        let keys = [];\n        enumInfo.push(`export enum LocaleKeys {`);\n        for (const keyPair of keyPairs) {\n          keys.push(`  /**\n   * Label value: \"${keyPair.value}\"\n   */\n  ${keyPair.key} = \"${keyPair.key}\"`)\n        }\n        enumInfo.push(keys.join(`,\\n`))\n        enumInfo.push(`}`);\n\n        // only rebuild LocaleKeys.ts if a change has occurred\n        var buildEnum = true;\n        try {\n          const existingFileContents = fs.readFileSync(path.join(__dirname, './src/libraries/spStarterKitShared/loc/LocaleKeys.ts'), { encoding: \"utf8\" });\n          if (existingFileContents && existingFileContents == enumInfo.join(`\\n`)) {\n            buildEnum = false;\n          }\n        }\n        catch (err) {\n        }\n\n        if (buildEnum) {\n          fs.writeFileSync(path.join(__dirname, './src/libraries/spStarterKitShared/loc/LocaleKeys.ts'), enumInfo.join(`\\n`));\n        }\n\n      }\n    }\n  }\n});\n\nbuild.rig.addPreBuildTask(generateLocaleKeys);\n"
  },
  {
    "path": "source/library-starter-kit-shared/gulpfile.js",
    "content": "'use strict';\n\nconst gulp = require('gulp');\nconst build = require('@microsoft/sp-build-web');\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nrequire('./gulpfile.generatelocalkeys.js');\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(gulp);\n"
  },
  {
    "path": "source/library-starter-kit-shared/package.json",
    "content": "{\n  \"name\": \"@starter-kit/shared-library\",\n  \"version\": \"3.0.0\",\n  \"private\": false,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"browser\": {\n    \"[module-name]\": false\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-adaptive-card-extension-base\": \"1.16.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"typescript\": \"4.5.5\",\n    \"@types/webpack-env\": \"1.15.2\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"eslint\": \"8.7.0\",\n    \"@types/es6-promise\": \"0.0.33\",\n    \"gulp\": \"4.0.2\",\n    \"ajv\": \"6.12.5\"\n  }\n}\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/index.ts",
    "content": "export { SpStarterKitSharedLibrary } from './libraries/spStarterKitShared/SpStarterKitSharedLibrary';\nexport * from './libraries/spStarterKitShared/loc/LocaleKeys';\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/SpStarterKitSharedLibrary.manifest.json",
    "content": "{\n  \"id\": \"849381c3-2209-441c-a559-2dc6a5c0cb63\",\n  \"alias\": \"SpStarterKitSharedLibrary\",\n  \"componentType\": \"Library\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2\n}\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/SpStarterKitSharedLibrary.ts",
    "content": "import * as strings from 'SpStarterKitSharedLibraryStrings';\nimport { LocaleKeys } from './loc/LocaleKeys';\n\nexport class SpStarterKitSharedLibrary {\n\n  /**\n   * Retrieve the locale label for the specified key\n   *\n   * @param localeKey\n   */\n  public static getLocale(localeKey: LocaleKeys | string, returnNull = false): string {\n    if (!returnNull) {\n      return strings[localeKey as keyof ISpStarterKitSharedLibraryStrings] || `Locale key not defined`;\n    } else {\n      return strings[localeKey as keyof ISpStarterKitSharedLibraryStrings] || null;\n    }\n  }\n\n}\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/LocaleKeys.ts",
    "content": "export enum LocaleKeys {\n  /**\n   * Label value: \"Web part configuration\"\n   */\n  PropertyPaneDescription = \"PropertyPaneDescription\",\n  /**\n   * Label value: \"Refresh interval (in minutes)\"\n   */\n  RefreshInterval = \"RefreshInterval\",\n  /**\n   * Label value: \"Number of followed sites to retrieve\"\n   */\n  NrOfFollowedItemsLabel = \"NrOfFollowedItemsLabel\",\n  /**\n   * Label value: \"Specify the sort order of the retrieved sites\"\n   */\n  SortOrderFollowedItemsLabel = \"SortOrderFollowedItemsLabel\",\n  /**\n   * Label value: \"Default\"\n   */\n  SortOrderDefaultLabel = \"SortOrderDefaultLabel\",\n  /**\n   * Label value: \"Name\"\n   */\n  SortOrderNameLabel = \"SortOrderNameLabel\",\n  /**\n   * Label value: \"You are not following any sites\"\n   */\n  NoFollowedSitesMsg = \"NoFollowedSitesMsg\",\n  /**\n   * Label value: \"Filter sites by their name\"\n   */\n  SitesFilterLabel = \"SitesFilterLabel\",\n  /**\n   * Label value: \"No corresponding sites found\"\n   */\n  NoFollowSitesFoundMsg = \"NoFollowSitesFoundMsg\",\n  /**\n   * Label value: \"Loading followed sites\"\n   */\n  SitesLoading = \"SitesLoading\",\n  /**\n   * Label value: \"Sorry, something went wrong retrieving your followed sites.\"\n   */\n  SitesLoadingError = \"SitesLoadingError\",\n  /**\n   * Label value: \"Configure your web part\"\n   */\n  BannerPlaceholderIconText = \"BannerPlaceholderIconText\",\n  /**\n   * Label value: \"Please specify the banner configuration.\"\n   */\n  BannerPlaceholderDescription = \"BannerPlaceholderDescription\",\n  /**\n   * Label value: \"Configure\"\n   */\n  BannerPlaceholderBtnLabel = \"BannerPlaceholderBtnLabel\"\n}"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    // general labels\n    \"PropertyPaneDescription\": \"Web Part Konfiguration\",\n\n    // Followed Sites Webpart\n    \"NrOfFollowedItemsLabel\": \"Anzahl der gefolgen Seiten zum abrufen\",\n    \"SortOrderFollowedItemsLabel\": \"Geben Sie die Sortierreihenfolge der abgerufenen Seiten an\",\n    \"SortOrderDefaultLabel\": \"Standard\",\n    \"SortOrderNameLabel\": \"Name\",\n\n    \"NoFollowedSitesMsg\": \"Sie folgen keiner Seite\",\n    \"SitesFilterLabel\": \"Filterung bei Seitenname\",\n    \"NoFollowSitesFoundMsg\": \"Keine zugehörige Seite gefunden\",\n    \"SitesLoading\": \"Lade gefolgte Seiten\",\n    \"SitesLoadingError\": \"Beim abruffen der gefolgten Seiten ist ein Fehler aufgetreten.\",\n\n    // Validation\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configure your web part\",\n    \"BannerPlaceholderDescription\": \"Please specify the banner configuration.\",\n    \"BannerPlaceholderBtnLabel\": \"Configure\"\n\n  }\n});\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/en-us.js",
    "content": "define([], function() {\n    return {\n        // general labels\n        \"PropertyPaneDescription\": \"Web part configuration\",\n        \"RefreshInterval\": \"Refresh interval (in minutes)\",\n\n        // Followed Sites Webpart\n        \"NrOfFollowedItemsLabel\": \"Number of followed sites to retrieve\",\n        \"SortOrderFollowedItemsLabel\": \"Specify the sort order of the retrieved sites\",\n        \"SortOrderDefaultLabel\": \"Default\",\n        \"SortOrderNameLabel\": \"Name\",\n\n        \"NoFollowedSitesMsg\": \"You are not following any sites\",\n        \"SitesFilterLabel\": \"Filter sites by their name\",\n        \"NoFollowSitesFoundMsg\": \"No corresponding sites found\",\n        \"SitesLoading\": \"Loading followed sites\",\n        \"SitesLoadingError\": \"Sorry, something went wrong retrieving your followed sites.\",\n\n        // Validation\n\n        // React component strings\n        \"BannerPlaceholderIconText\": \"Configure your web part\",\n        \"BannerPlaceholderDescription\": \"Please specify the banner configuration.\",\n        \"BannerPlaceholderBtnLabel\": \"Configure\"\n    }\n});"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    // general labels\n    \"PropertyPaneDescription\": \"Configuración del elemento web\",\n\n    // Followed Sites Webpart\n    \"NrOfFollowedItemsLabel\": \"Número de sitios seguidos a retornar\",\n    \"SortOrderFollowedItemsLabel\": \"Especifique el método de ordenacion de los sitios retornados\",\n    \"SortOrderDefaultLabel\": \"Predeterminado\",\n    \"SortOrderNameLabel\": \"Nombre\",\n\n    \"NoFollowedSitesMsg\": \"Usted aun no sigue ningun sitio\",\n    \"SitesFilterLabel\": \"Filtre sitios por nombre\",\n    \"NoFollowSitesFoundMsg\": \"No se encontraron sitios que correspondan\",\n    \"SitesLoading\": \"Cargando sitios que usted sigue\",\n    \"SitesLoadingError\": \"Lo sentimos, algo salio mal cuando retornabamos los siios que suted sigue.\",\n\n    // Validation\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configure your web part\",\n    \"BannerPlaceholderDescription\": \"Please specify the banner configuration.\",\n    \"BannerPlaceholderBtnLabel\": \"Configure\"\n  }\n});\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    // general labels\n    \"PropertyPaneDescription\": \"Web part configuration\",\n\n    // Followed Sites Webpart\n    \"NrOfFollowedItemsLabel\": \"Nombre de sites suivis à récupérer\",\n    \"SortOrderFollowedItemsLabel\": \"Spécifiez l'ordre de tri des sites récupérés\",\n    \"SortOrderDefaultLabel\": \"Défaut\",\n    \"SortOrderNameLabel\": \"Nom\",\n\n    \"NoFollowedSitesMsg\": \"Vous ne suivez aucun site\",\n    \"SitesFilterLabel\": \"Filtrer les sites par leur nom\",\n    \"NoFollowSitesFoundMsg\": \"Aucun site correspondant trouvé\",\n    \"SitesLoading\": \"Chargement des sites suivis\",\n    \"SitesLoadingError\": \"Désolé, une erreur s'est produite lors de la récupération des sites suivis.\",\n\n    // Validation\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configure your web part\",\n    \"BannerPlaceholderDescription\": \"Please specify the banner configuration.\",\n    \"BannerPlaceholderBtnLabel\": \"Configure\"\n  }\n});\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/mystrings.d.ts",
    "content": "declare interface ISpStarterKitSharedLibraryStrings {}\n\ndeclare module 'SpStarterKitSharedLibraryStrings' {\n  const strings: ISpStarterKitSharedLibraryStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    // general labels\n    \"PropertyPaneDescription\": \"Webdel konfigurasjon\",\n\n    // Followed Sites Webpart\n    \"NrOfFollowedItemsLabel\": \"Antall fulgte områder som hentes\",\n    \"SortOrderFollowedItemsLabel\": \"Spesifiser sortering for områdene\",\n    \"SortOrderDefaultLabel\": \"Standard\",\n    \"SortOrderNameLabel\": \"Navn\",\n\n    \"NoFollowedSitesMsg\": \"Du følger ingen områder\",\n    \"SitesFilterLabel\": \"Filtrer områder etter navn\",\n    \"NoFollowSitesFoundMsg\": \"Ingen områder funnet\",\n    \"SitesLoading\": \"Laster inn fulgte områder\",\n    \"SitesLoadingError\": \"Dessverre gikk noe galt med innlastingen av dine fulgte områder.\",\n\n    // Validation\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configure your web part\",\n    \"BannerPlaceholderDescription\": \"Please specify the banner configuration.\",\n    \"BannerPlaceholderBtnLabel\": \"Configure\"\n\n  }\n});\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/nl-nl.js",
    "content": "define([], function() {\n  return {\n    // general labels\n    \"PropertyPaneDescription\": \"Webpart configuratie\",\n\n    // Followed Sites Webpart\n    \"NrOfFollowedItemsLabel\": \"Aantal gevolgde sites om op te halen\",\n    \"SortOrderFollowedItemsLabel\": \"Specificeer de sorteringsvolgorde van de opgehaalde sites\",\n    \"SortOrderDefaultLabel\": \"Default\",\n    \"SortOrderNameLabel\": \"Naam\",\n\n    \"NoFollowedSitesMsg\": \"Je volgt momenteel geen sites\",\n    \"SitesFilterLabel\": \"Filter sites op naam\",\n    \"NoFollowSitesFoundMsg\": \"Geen overeenkomstige sites gevonden\",\n    \"SitesLoading\": \"Gevolgde sites aan het laden\",\n    \"SitesLoadingError\": \"Sorry, er ging iets mis bij het ophalen van je gevolgde sites.\",\n\n    // Validation\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configure your web part\",\n    \"BannerPlaceholderDescription\": \"Please specify the banner configuration.\",\n    \"BannerPlaceholderBtnLabel\": \"Configure\"\n  }\n});\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    // general labels\n    \"PropertyPaneDescription\": \"Webbdelkonfiguration\",\n\n    // Followed Sites Webpart\n    \"NrOfFollowedItemsLabel\": \"Antal följda webbplatser att hämta\",\n    \"SortOrderFollowedItemsLabel\": \"Specificera sorteringsordningen för de hämtade webbplatserna\",\n    \"SortOrderDefaultLabel\": \"Standard\",\n    \"SortOrderNameLabel\": \"Namn\",\n\n    \"NoFollowedSitesMsg\": \"Du följer inte några webbplatser\",\n    \"SitesFilterLabel\": \"Filtrera webbplatser efter deras namn\",\n    \"NoFollowSitesFoundMsg\": \"Inga motsvarande webbplatser hittades\",\n    \"SitesLoading\": \"Laddar följda webbplatser\",\n    \"SitesLoadingError\": \"Ledsen, något gick fel med att hämta dina följda webbplatser.\",\n\n    // Validation\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configure your web part\",\n    \"BannerPlaceholderDescription\": \"Please specify the banner configuration.\",\n    \"BannerPlaceholderBtnLabel\": \"Configure\"\n\n  }\n});\n"
  },
  {
    "path": "source/library-starter-kit-shared/src/libraries/spStarterKitShared/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    // general labels\n    \"PropertyPaneDescription\": \"Web bölümü yapılandırması\",\n\n    // Followed Sites Webpart\n    \"NrOfFollowedItemsLabel\": \"Alınacak takip edilen site sayısı\",\n    \"SortOrderFollowedItemsLabel\": \"Alınan sitelerin sıralama düzenini belirtin\",\n    \"SortOrderDefaultLabel\": \"Varsayılan\",\n    \"SortOrderNameLabel\": \"İsim\",\n\n    \"NoFollowedSitesMsg\": \"Hiçbir siteyi takip etmiyorsunuz\",\n    \"SitesFilterLabel\": \"Siteleri isimlerine göre filtreleme\",\n    \"NoFollowSitesFoundMsg\": \"İlgili site bulunamadı\",\n    \"SitesLoading\": \"Takip edilen siteleri yüklüyor\",\n    \"SitesLoadingError\": \"Üzgünüz, takip ettiğiniz siteleri alırken bir şeyler ters gitti.\",\n\n    // Validation\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configure your web part\",\n    \"BannerPlaceholderDescription\": \"Please specify the banner configuration.\",\n    \"BannerPlaceholderBtnLabel\": \"Configure\"\n\n  }\n});\n"
  },
  {
    "path": "source/library-starter-kit-shared/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noUnusedLocals\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}"
  },
  {
    "path": "source/mgt-spfx/README.md",
    "content": "# Microsoft Graph Toolkit SPFx Package\n\n## Summary\n\nCertain webparts included in the Starter Kit include a dependency on the [mgt-spfx sppkg - mgt-spfx-2.2.1.sppkg](https://github.com/microsoftgraph/microsoft-graph-toolkit/releases). By default, the Starter Kit will install this sppkg to the tenant app catalog."
  },
  {
    "path": "source/react-application-alerts/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-application-alerts/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/default'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 0,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 0,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 0,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // no-useless-escape\n        // ====================================================================\n        'no-useless-escape': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-application-alerts/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n"
  },
  {
    "path": "source/react-application-alerts/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-application-alerts/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-application-alerts/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-application-alerts/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-application-alerts\",\n    \"libraryId\": \"bc996340-c1e8-488d-9d62-ebd5293617fd\",\n    \"packageManager\": \"npm\",\n    \"componentType\": \"extension\",\n    \"extensionType\": \"ApplicationCustomizer\",\n    \"isDomainIsolated\": false\n  }\n}"
  },
  {
    "path": "source/react-application-alerts/README.md",
    "content": "# Alerts Application Customizers\n\nThis application customizer provides you the ability to show notifications on content pages in the top / header area within a hub site and its associated sites.\n\nThe notifications that are to be displayed are administered via a SharePoint list named \"Alerts\" that is hosted by a hub site. The \"Alerts\" list within a hub site supports the hub site and all sites associated with the hub site that have activated the Alerts application customizer.\n\nThe default SP Starter Kit installation process will automatically provision the \"Alerts\" list including a custom content type, \"PnP Alert\" to the hub site. The hub site and associated collaboration sites provisioned by the starter kit will also have the Alert application customizer extension automatically activated.\n\nNew sites added to the hub that wish to include the Alert application customizer will need to activate the extension via a site script, PnP PowerShell, or PnP cli.\n\n> This extension will only work for hub sites or sites that are associated with a hub site.\n\n![Alert](../../assets/images/components/ext-alert.gif)\n\n> Screenshot is from the v1 version.\n\n\n## Alert list details\n\nThis extension is dependent on a explicit `Alerts` list that must be located in a hub site to which current site collection is associated. If site collection is the actual hub site, alerts list has to exist in the root of that site collection.\n\n| Display Name | Name | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Alert type | PnPAlertType | choice | yes | Type of Alert to display. Urgent = Red. Information = Yellow. |\n| Alert message | PnPAlertMessage | string | yes | The message you want to display in the alert |\n| Start date-time | PnPAlertStartDateTime | date time | yes | The Date/Time the alert should show in the header placeholder |\n| End date-time | PnPAlertEndDateTime | date time | yes | The Date/Time the alert stops showing in the header placeholder |\n| More information link | PnPAlertMoreInformation | URL | no | Provides a clickable link at the end of the alert message |\n\n> Notice that in default SharePoint Starter Kit installation this list is automatically provisioned on the hub site in the case of SharePoint Online solution.\n\nOriginal v1 implementation located at https://github.com/SharePoint/sp-starter-kit/blob/master/documentation/components/ext-alert.md\n\nIn the v2 release, this extension has been repackaged as its own solution to provide more flexibility from deployment perspective.\n\n## Installing the extension\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/pnp/sp-starter-kit) for basic installation of the SP Starter Kit which includes installing the proper list, \"Alerts\" to the hub site, installation the application customizer's sppkg to the tenant app catalog, and activating the extension on the hub site and associated team sites.\n\nYou can also download just the [extension (sppkg) file](./sharepoint/solution/react-application-alerts.sppkg) and install that to your tenant's app catalog. This extension does not have external dependencies. This extension does require the 'Alerts' list be available in the root of the hub site with the proper site columns as specified in [Alert list details](#Alert-list-details).\n\n> As this is a SharePoint Framework extension, you will need to explicitly enable this extension in a site using CSOM, REST APIs, PnP PowerShell, or PnP cli.\n\n**A common approach to activate the extention on a given site connection is to use PnP PowerShell commandlets:**\n\n  ```powershell\n  Connect-PnPOnline https://contosodemosk.sharepoint.com/sites/site-to-configure\n  Add-PnPCustomAction -Name \"HubOrSiteAlertsApplicationCustomizer\" -Title \"HubOrSiteAlertsApplicationCustomizer\" -ClientSideComponentId 29df5d8b-1d9b-4d32-971c-d66162396ed3 -Location \"ClientSideExtension.ApplicationCustomizer\" -ClientSideComponentProperties \"{}\" -Scope Site\n  ```\n\n> Set the full url and path of the Connect-PnPOnline commandlet to fit your specific tenant / site\n\n\n## Screenshots\n\n![Alert](../../assets/images/components/ext-alert.png)\n\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nAlert is is created automatically to the root of the site collection if it's missing where the extension is executed. This requires that the person using the extension will have sufficient permissions. If permissions are missing, then application customizer will not render anything.\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nfolder name | Author details\n./solution/src/extensions/alertNotification | Waldek Mastykarz @waldekm\n./source/react-application-alerts | Robert Schouten @rfjschouten\n./source/react-application-alerts | Chandani Prajapati @Chandani_SPD\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|Appril 1, 2018|Initial release for SharePoint Starter Kit v1\n2.0|December 25, 2019|Initial release for SharePoint Starter Kit v2\n3.0|February 2023|Initial release for SharePoint Starter Kit v3\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to correct folder where solution exists\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n## Features\n\nKey features demostrated by this solution:\n\n* PnPjs usage in the solution\n* Dynamic creation of the list if it's missing\n* SPFx application customizer that includes a header driven by a SharePoint list\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-application-alerts\" />\n"
  },
  {
    "path": "source/react-application-alerts/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"hub-or-site-alerts-application-customizer\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/extensions/hubOrSiteAlerts/HubOrSiteAlertsApplicationCustomizer.js\",\n          \"manifest\": \"./src/extensions/hubOrSiteAlerts/HubOrSiteAlertsApplicationCustomizer.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"HubOrSiteAlertsApplicationCustomizerStrings\": \"lib/extensions/hubOrSiteAlerts/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/react-application-alerts/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-application-alerts\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-application-alerts/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Alerts\",\n    \"id\": \"bc996340-c1e8-488d-9d62-ebd5293617fd\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"websiteUrl\": \"\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-application-alerts description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-application-alerts description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Application Extension - Starter Kit - Alerts - Deployment of custom action.\",\n        \"description\": \"Deploys a custom action within Starter Kit - Alerts\",\n        \"id\": \"f15797fb-d6a8-4359-86fa-895111433c04\",\n        \"version\": \"3.0.0.0\",\n        \"assets\": {\n          \"elementManifests\": [\n            \"elements.xml\"\n          ]\n        }\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-application-alerts.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-application-alerts/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-application-alerts/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"serveConfigurations\": {\n    \"default\": {\n      \"pageUrl\": \"https://pmspkit02.sharepoint.com/sites/uatMarketing/SitePages/World-Clock-1.16.1.aspx\",\n      \"customActions\": {\n        \"29df5d8b-1d9b-4d32-971c-d66162396ed3\": {\n          \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n          \"properties\": {\n            \"testMessage\": \"Test message\"\n          }\n        }\n      }\n    },\n    \"hubOrSiteAlerts\": {\n      \"pageUrl\": \"https://pmspkit02.sharepoint.com/sites/uatMarketing/SitePages/World-Clock-1.16.1.aspx\",\n      \"customActions\": {\n        \"29df5d8b-1d9b-4d32-971c-d66162396ed3\": {\n          \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n          \"properties\": {\n            \"testMessage\": \"Test message\"\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-application-alerts/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-application-alerts/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-application-alerts/package.json",
    "content": "{\n  \"name\": \"react-application-alerts\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/decorators\": \"1.16.1\",\n    \"@microsoft/sp-application-base\": \"1.16.1\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-dialog\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@microsoft/sp-tslint-rules\": \"1.14.0\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/es6-promise\": \"0.0.33 \",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"1.15.2\",\n    \"ajv\": \"6.12.5\",\n    \"eslint\": \"8.7.0\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"tslint-microsoft-contrib\": \"5.0.0\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-application-alerts/sharepoint/assets/ClientSideInstance.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n</Elements>\n"
  },
  {
    "path": "source/react-application-alerts/sharepoint/assets/elements.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n    <CustomAction\n        Title=\"HubOrSiteAlerts\"\n        Location=\"ClientSideExtension.ApplicationCustomizer\"\n        ClientSideComponentId=\"29df5d8b-1d9b-4d32-971c-d66162396ed3\"\n        ClientSideComponentProperties=\"{}\">\n    </CustomAction>\n</Elements>\n"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/HubOrSiteAlertsApplicationCustomizer.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-extension-manifest.schema.json\",\n\n  \"id\": \"29df5d8b-1d9b-4d32-971c-d66162396ed3\",\n  \"alias\": \"HubOrSiteAlertsApplicationCustomizer\",\n  \"componentType\": \"Extension\",\n  \"extensionType\": \"ApplicationCustomizer\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false\n}\n"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/HubOrSiteAlertsApplicationCustomizer.ts",
    "content": "import { override } from '@microsoft/decorators';\nimport {\n  BaseApplicationCustomizer, PlaceholderContent, PlaceholderName\n} from '@microsoft/sp-application-base';\n\nimport { IHubSiteData, IHubSiteDataResponse } from './IHubSiteData';\nimport { SPHttpClientResponse, SPHttpClient } from '@microsoft/sp-http';\nimport { IAlert, IAlertItem, AlertType } from './IAlert';\nimport * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { IAlertNotificationsProps, AlertNotifications } from './components';\n\n/**\n * If your command set uses the ClientSideComponentProperties JSON input,\n * it will be deserialized into the BaseExtension.properties object.\n * You can define an interface to describe it.\n */\nexport interface IHubOrSiteAlertsApplicationCustomizerProperties {\n}\n\n/** A Custom Action which can be run during execution of a Client Side Application */\nexport default class HubOrSiteAlertsApplicationCustomizer\n  extends BaseApplicationCustomizer<IHubOrSiteAlertsApplicationCustomizerProperties> {\n    private static _topPlaceholder?: PlaceholderContent;\n    /**\n     * Constant used to exit the chain of promises when the current site\n     * is not connected to a hub site and is not a hub site itself.\n     */\n    private static readonly NO_HUBSITE_DATA: string = 'NO_HUBSITE_DATA';\n\n    @override\n    public onInit(): Promise<void> {\n      // add handler to he page navigated event which occurs both when\n      // the user opens and leaves the page\n      this.context.application.navigatedEvent.add(this, this._render);\n\n      return Promise.resolve();\n    }\n\n    private _handleDispose(): void {\n      console.log('[HubOrSiteAlertsApplicationCustomizer._onDispose] Disposed custom top placeholder.');\n    }\n\n    /**\n     * Retrieves information about the hub site to which the current site is connected.\n     * If the current site is a hub site itself, returns information about the current\n     * hub site.\n     * If the is not connected to a hub sites, returns null;\n     */\n    private _getConnectedHubSiteData(): Promise<IHubSiteData> {\n\n      // tslint:disable-next-line: no-any max-line-length\n      return new Promise<IHubSiteData>((resolve: (connectedHubSiteData: IHubSiteData) => void, reject: (error: any) => void): void => {\n        // suppress loading metadata to minimize the amount of data sent over the network\n        const headers: Headers = new Headers();\n        headers.append('accept', 'application/json;odata.metadata=none');\n\n        this.context.spHttpClient\n          .get(`${this.context.pageContext.web.absoluteUrl}/_api/web/hubsitedata`, SPHttpClient.configurations.v1, {\n            headers: headers\n          })\n          .then((res: SPHttpClientResponse): Promise<IHubSiteDataResponse> => {\n            return res.json();\n          })\n          .then((res: IHubSiteDataResponse): void => {\n            // the site is not connected to a hub site and is not a hub site itself\n            if (res['@odata.null'] === true) {\n              resolve(undefined);\n              return;\n            }\n\n            try {\n              // parse the hub site data from the value property to JSON\n              const hubSiteData: IHubSiteData = JSON.parse(res.value);\n              resolve(hubSiteData);\n            } catch (e) {\n              reject(e);\n            }\n          })\n          .catch((error): void => {\n            reject(error);\n          });\n      });\n    }\n\n    /**\n     * Loads upcoming alerts from the Alerts list located in the hub site\n     * @param hubSiteUrl URL of the hub site to which the current site is connected\n     */\n    private _loadUpcomingAlerts(hubSiteUrl: string): Promise<IAlert[]> {\n\n      // tslint:disable-next-line: no-any max-line-length\n      return new Promise<IAlert[]>((resolve: (upcomingAlerts: IAlert[]) => void, reject: (error: any) => void): void => {\n        // suppress loading metadata to minimize the amount of data sent over the network\n        const headers: Headers = new Headers();\n        headers.append('accept', 'application/json;odata.metadata=none');\n\n        // current date in the ISO format used to retrieve active alerts\n        const nowString: string = new Date().toISOString();\n\n        // from the Alerts list in the hub site, load the list of upcoming alerts sorted\n        // ascending by their end time so that alerts that expire first, are shown on top\n        this.context.spHttpClient\n          .get(hubSiteUrl + `/_api/web/GetList('${hubSiteUrl.replace(window.location.origin,\"\")}/Lists/Alerts')/items?` +\n            '$filter=PnPAlertStartDateTime le datetime\\'' + nowString + '\\' ' +\n            'and PnPAlertEndDateTime ge datetime\\'' + nowString + '\\' ' +\n            '&$select=PnPAlertType,PnPAlertMessage,PnPAlertMoreInformation&$orderby=PnPAlertEndDateTime',\n            SPHttpClient.configurations.v1, {\n            headers: headers\n          })\n          .then((res: SPHttpClientResponse): Promise<{ value: IAlertItem[] }> => {\n            return res.json();\n          })\n          .then((res: { value: IAlertItem[] }): void => {\n            // change the alert list item to alert object\n            const upcomingAlerts: IAlert[] = res.value.map(alert => {\n              return {\n                type: AlertType[alert.PnPAlertType],\n                message: alert.PnPAlertMessage,\n                moreInformationUrl: alert.PnPAlertMoreInformation ? alert.PnPAlertMoreInformation.Url : undefined\n              };\n            });\n            resolve(upcomingAlerts);\n          })\n          // tslint:disable-next-line: no-any\n          .catch((error: any): void => {\n            reject(error);\n          });\n      });\n    }\n\n    private _render(): void {\n      // check if the application customizer has already been rendered\n      if (!HubOrSiteAlertsApplicationCustomizer._topPlaceholder) {\n        // create a DOM element in the top placeholder for the application customizer\n        // to render\n        HubOrSiteAlertsApplicationCustomizer._topPlaceholder = this.context.placeholderProvider\n          .tryCreateContent(PlaceholderName.Top, { onDispose: this._handleDispose });\n      }\n\n      // if the top placeholder is not available, there is no place in the UI\n      // for the app customizer to render, so quit.\n      if (!HubOrSiteAlertsApplicationCustomizer._topPlaceholder) {\n        return;\n      }\n\n      this\n        ._getConnectedHubSiteData()\n        .then((connectedHubSiteData: IHubSiteData): Promise<IAlert[]> => {\n          if (!connectedHubSiteData || connectedHubSiteData === undefined) {\n            // Current site is not connected to a hub site and is not a hub site\n            // itself. Exit the promise chain by rejecting the promise with a known\n            // error code.\n            return Promise.reject(HubOrSiteAlertsApplicationCustomizer.NO_HUBSITE_DATA);\n          }\n\n          return this._loadUpcomingAlerts(connectedHubSiteData.url);\n        })\n        .then((upcomingAlerts: IAlert[]): void => {\n          if (upcomingAlerts.length === 0) {\n            console.log('No upcoming alerts found');\n            return;\n          }\n\n          const element: React.ReactElement<IAlertNotificationsProps> = React.createElement(\n            AlertNotifications,\n            {\n              alerts: upcomingAlerts\n            }\n          );\n\n          // render the UI using a React component\n          ReactDom.render(element, HubOrSiteAlertsApplicationCustomizer._topPlaceholder.domElement);\n        })\n        // tslint:disable-next-line: no-any\n        .catch((error: any): void => {\n          if (error === HubOrSiteAlertsApplicationCustomizer.NO_HUBSITE_DATA) {\n            console.log(`Current site is not connected to a hub site and is not a hub site itself.\n            Skipping loading alerts`);\n          } else {\n            console.error(error);\n          }\n        });\n    }\n}\n"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/IAlert.ts",
    "content": "/**\n * Interface that represents an alert item\n */\nexport interface IAlert {\n  message: string;\n  moreInformationUrl: string;\n  type: AlertType;\n}\n\nexport enum AlertType {\n  Information = 1,\n  Urgent\n}\n\n/**\n * Interface that represents a list item with alert information\n */\nexport interface IAlertItem {\n  PnPAlertEndDateTime: string;\n  PnPAlertMessage: string;\n  PnPAlertMoreInformation: {\n    Description: string;\n    Url: string;\n  };\n  PnPAlertStartDateTime: string;\n  PnPAlertType: string;\n}"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/IHubSiteData.ts",
    "content": "export interface IHubSiteData {\n  logoUrl: string;\n\n  name: string;\n\n  // tslint:disable-next-line: no-any\n  navigation: any[];\n\n  themeKey: string;\n\n  url: string;\n\n  usesMetadataNavigation: boolean;\n}\n\nexport interface IHubSiteDataResponse {\n  '@odata.null'?: boolean;\n  value?: string;\n}\n"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/components/AlertNotifications.tsx",
    "content": "import * as React from 'react';\nimport { IAlertNotificationsProps } from '.';\nimport * as strings from 'HubOrSiteAlertsApplicationCustomizerStrings';\nimport { MessageBar, MessageBarType } from '@fluentui/react/lib/MessageBar';\nimport { AlertType } from '../IAlert';\n\nexport class AlertNotifications extends React.Component<IAlertNotificationsProps, {}> {\n  public render(): React.ReactElement<IAlertNotificationsProps> {\n    return (\n      <div>\n        {this.props.alerts.map(alert => <MessageBar\n          messageBarType={alert.type === AlertType.Urgent ? MessageBarType.severeWarning : MessageBarType.warning}\n          isMultiline={false}\n        >\n          {alert.message}\n          {alert.moreInformationUrl ? <a href={alert.moreInformationUrl}>{strings.MoreInformation}</a> : ''}\n        </MessageBar>)}\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/components/IAlertNotificationsProps.ts",
    "content": "import { IAlert } from '../IAlert';\n\nexport interface IAlertNotificationsProps {\n  alerts: IAlert[];\n}\n"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/components/index.ts",
    "content": "export * from './IAlertNotificationsProps';\nexport * from './AlertNotifications';"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"MoreInformation\": \"Mehr Informationen\"\n  }\n});"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"MoreInformation\": \"More information\"\n  }\n});"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"MoreInformation\": \"Más información\"\n  }\n});\n"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"MoreInformation\": \"Plus d'information\"\n  }\n});"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/loc/myStrings.d.ts",
    "content": "declare interface IHubOrSiteAlertsApplicationCustomizerStrings {\n  MoreInformation: string;\n}\n\ndeclare module 'HubOrSiteAlertsApplicationCustomizerStrings' {\n  const strings: IHubOrSiteAlertsApplicationCustomizerStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"MoreInformation\": \"Mer informasjon\"\n  }\n});\n"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"MoreInformation\": \"Meer informatie\"\n    }\n  });"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"MoreInformation\": \"Mer information\"\n  }\n});"
  },
  {
    "path": "source/react-application-alerts/src/extensions/hubOrSiteAlerts/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"MoreInformation\": \"Daha fazla bilgi\"\n  }\n});"
  },
  {
    "path": "source/react-application-alerts/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-application-alerts/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": false,\n\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-application-collab-footer/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 0,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 0,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 0,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // no-useless-escape\n        // ====================================================================\n        'no-useless-escape': 0,\n        // ====================================================================\n        // react/no-direct-mutation-state\n        // ====================================================================\n        'react/no-direct-mutation-state': 0,\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-application-collab-footer/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n"
  },
  {
    "path": "source/react-application-collab-footer/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-application-collab-footer/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-application-collab-footer/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-application-collab-footer/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-application-collab-footer\",\n    \"libraryId\": \"8b5fa72c-26f0-488a-a952-6ec68c81f623\",\n    \"packageManager\": \"npm\",\n    \"componentType\": \"extension\",\n    \"extensionType\": \"ApplicationCustomizer\",\n    \"isDomainIsolated\": false\n  }\n}"
  },
  {
    "path": "source/react-application-collab-footer/README.md",
    "content": "# Collaboration Footer Application Customizers\n\nThis application customizer provides you the ability to include a footer designed for normal and group associated teams sites. The footer includes sets of links configured within a taxonomy term set via the term store. A second set of links are personalized links, unqiue to each user, stored within each user's user profile within a user profile property. If this property does not exist in the user profile service, this capability will be hidden. \n\n![Collaboration Footer](../../assets/images/components/ext-collab-footer.gif)\n\nTaxonomy dependency is utilized within the collaboration footer to provide a global set of links across multiple team sites, as well as a technology demostrator. Visit the [Portal footer application customizer](../react-application-portal-footer/) for an example of footer links driven by a SharePoint list.\n\nDetails on implementation at https://github.com/SharePoint/sp-starter-kit/blob/master/documentation/components/ext-collab-footer.md\n\n## Configurable Properties\n\nThe `Collaboration Footer` application customizers can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Link Term Set name | sourceTermSet | string | yes | The name of the term set that stores link terms for footer |\n| User profile propery name | personalItemsStorageProperty | string | yes | The name of the user profile property to store user specific links |\n\n## Modifying Extension properties\n\nThis extension has a collection of properties that are set by default, although may be modified using the [`PnP PowerShell`](https://github.com/pnp/powershell) commandlet Set-PnPApplicationCustomizer.\n\n```powershell\nSet-PnPApplicationCustomizer -Title \"CollabFooter\" -ClientSideComponentId 6638da67-06f4-4f55-a1df-485d568e8b72 -ClientSideComponentProperties \"{`\"sourceTermSet`\":`\"PnP-CollabFooter-SharedLinks`\",`\"personalItemsStorageProperty`\":`\"PnP-CollabFooter-MyLinks`\"}\"\n```\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nThe shared links are retrieved from a term set called `PnP-CollabFooter-SharedLinks`. This termset's intended use must be set for to be used for site navigation. The url is set in the terms property \"simple link or header\". The termset is created when applying the pnp tenant template found in the instructrions. The xml used to provision the termset can be found [here](../../provisioning/starterkit.xml).\n\nPersonalized links only works if a custom property called `PnP-CollabFooter-MyLinks` has been added on the user profile service. This is string based property with maximum lenght. As there's no APIs to automate the property creation to the user profile service, this property will need to be manually created to enable the personalized links capability. Instructions to set up the custom property can be found [here](../../documentation/tenant-settings.md#create-a-custom-property-in-the-user-profile-service).\n\nBoth component property names can be [changed in the SPFx extension properties](#modifying-extension-properties). \n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-application-collab-footer | Paolo Pialorsi\nreact-application-collab-footer | David Opdendries\nreact-application-collab-footer | Chandani Prajapati\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 9, 2018|Initial release\n2.0|January 1, 2020|Initial release for SharePoint Starter Kit v2\n3.0|February 2023|v3 - Upgraded to SPFx 1.16.1\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to correct folder where solution exists\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n## Features\n\nKey features demostrated by this solution:\n\n* Work with term sets using spHttpClient\n* Work with data from user property\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-application-collab-footer\" />\n"
  },
  {
    "path": "source/react-application-collab-footer/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"collaboration-footer-application-customizer\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/extensions/collaborationFooter/CollaborationFooterApplicationCustomizer.js\",\n          \"manifest\": \"./src/extensions/collaborationFooter/CollaborationFooterApplicationCustomizer.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"CollaborationFooterApplicationCustomizerStrings\": \"lib/extensions/collaborationFooter/loc/{locale}.js\",\n    \"MyLinksStrings\": \"lib/extensions/collaborationFooter/components/myLinks/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-application-collab-footer\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-application-collab-footer/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Collaboration Footer\",\n    \"id\": \"8b5fa72c-26f0-488a-a952-6ec68c81f623\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-application-collab-footer description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-application-collab-footer description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Application Extension - Deployment of custom action.\",\n        \"description\": \"Deploys a custom action with ClientSideComponentId association\",\n        \"id\": \"d92e00dd-d103-482a-837f-d5728af1fec6\",\n        \"version\": \"3.0.0.0\",\n        \"assets\": {\n          \"elementManifests\": [\n            \"elements.xml\",\n            \"clientsideinstance.xml\"\n          ]\n        }\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-application-collab-footer.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-application-collab-footer/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-application-collab-footer/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"serveConfigurations\": {\n    \"default\": {\n      \"pageUrl\": \"https://contoso.sharepoint.com/sites/mySite/SitePages/myPage.aspx\",\n      \"customActions\": {\n        \"6638da67-06f4-4f55-a1df-485d568e8b72\": {\n          \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n          \"properties\": {\n            \"sourceTermSet\": \"PnP-CollabFooter-SharedLinks\",\n            \"personalItemsStorageProperty\": \"PnP-CollabFooter-MyLinks\"\n          }\n        }\n      }\n    },\n    \"collaborationFooter\": {\n      \"pageUrl\": \"https://contoso.sharepoint.com/sites/mySite/SitePages/myPage.aspx\",\n      \"customActions\": {\n        \"6638da67-06f4-4f55-a1df-485d568e8b72\": {\n          \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n          \"properties\": {\n            \"sourceTermSet\": \"PnP-CollabFooter-SharedLinks\",\n            \"personalItemsStorageProperty\": \"PnP-CollabFooter-MyLinks\"\n          }\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "source/react-application-collab-footer/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-application-collab-footer/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-application-collab-footer/package.json",
    "content": "{\n  \"name\": \"react-application-collab-footer\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/decorators\": \"1.16.1\",\n    \"@microsoft/sp-application-base\": \"1.16.1\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-dialog\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"^1.16.1\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@microsoft/sp-tslint-rules\": \"1.14.0\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/es6-promise\": \"0.0.33\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"1.15.2\",\n    \"ajv\": \"6.12.5\",\n    \"eslint\": \"8.7.0\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"tslint-microsoft-contrib\": \"5.0.0\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/sharepoint/assets/ClientSideInstance.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n</Elements>\n"
  },
  {
    "path": "source/react-application-collab-footer/sharepoint/assets/elements.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n    <CustomAction\n        Title=\"CollaborationFooter\"\n        Location=\"ClientSideExtension.ApplicationCustomizer\"\n        ClientSideComponentId=\"6638da67-06f4-4f55-a1df-485d568e8b72\"\n        ClientSideComponentProperties=\"{&quot;sourceTermSet&quot;:&quot;PnP-CollabFooter-SharedLinks&quot;,&quot;personalItemsStorageProperty&quot;:&quot;PnP-CollabFooter-MyLinks&quot;}\">\n    </CustomAction>\n</Elements>\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/CollaborationFooterApplicationCustomizer.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-extension-manifest.schema.json\",\n\n  \"id\": \"6638da67-06f4-4f55-a1df-485d568e8b72\",\n  \"alias\": \"CollaborationFooterApplicationCustomizer\",\n  \"componentType\": \"Extension\",\n  \"extensionType\": \"ApplicationCustomizer\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/CollaborationFooterApplicationCustomizer.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\n\nimport { override } from '@microsoft/decorators';\nimport { Log } from '@microsoft/sp-core-library';\nimport {\n  BaseApplicationCustomizer, PlaceholderContent, PlaceholderName\n} from '@microsoft/sp-application-base';\nimport * as strings from 'CollaborationFooterApplicationCustomizerStrings';\n\nimport CollabFooter from './components/CollabFooter';\nimport { ICollabFooterProps } from './components/ICollabFooterProps';\nimport { ICollabFooterEditResult } from './components/ICollabFooterEditResult';\n\n// import additional controls/components\nimport { ContextualMenuItemType, IContextualMenuItem } from '@fluentui/react/lib/ContextualMenu';\nimport SPTaxonomyService from '../../services/SPTaxonomyService';\nimport {ITerm } from '../../services/SPTaxonomyTypes';\nimport SPUserProfileService from '../../services/SPUserProfileService';\nimport MyLinksDialog from './components/myLinks/MyLinksDialog';\nimport IMyLink from './components/myLinks/IMyLink';\n\nconst LOG_SOURCE: string = 'CollaborationFooterApplicationCustomizer';\n\n/**\n * If your command set uses the ClientSideComponentProperties JSON input,\n * it will be deserialized into the BaseExtension.properties object.\n * You can define an interface to describe it.\n */\nexport interface ICollaborationFooterApplicationCustomizerProperties {\n   // the Taxonomy Term Set that stores the shared menu items\n   sourceTermSet: string;\n   // the UPS property to store the MyLinks items\n   personalItemsStorageProperty: string;\n}\n\n/** A Custom Action which can be run during execution of a Client Side Application */\nexport default class CollaborationFooterApplicationCustomizer\n  extends BaseApplicationCustomizer<ICollaborationFooterApplicationCustomizerProperties> {\n\n    private _footerPlaceholder: PlaceholderContent | undefined;\n    private _myLinks: IMyLink[];\n    private _myLinksMenuItems: IContextualMenuItem[];\n\n    @override\n    public async onInit(): Promise<void> {\n      Log.info(LOG_SOURCE, `Initialized ${strings.Title}`);\n\n      let sourceTermSet: string = this.properties.sourceTermSet;\n      let personalItemsStorageProperty: string = this.properties.personalItemsStorageProperty;\n      if (!sourceTermSet || !personalItemsStorageProperty) {\n        console.log('Provide valid properties for CollabFooterApplicationCustomizer!');\n      }\n\n      // call render method for generating the needed html elements\n      return(await this._renderPlaceHolders());\n    }\n\n    private async getMenuItems(): Promise<IContextualMenuItem[]> {\n\n      // get the list of menu items from the Taxonomy\n      const svc: SPTaxonomyService = new SPTaxonomyService(this.context);\n      const terms: ITerm[] = await svc.getTermsFromTermSet(this.properties.sourceTermSet);\n\n      // map the taxonomy items to the menu items\n      const sharedMenuItems: IContextualMenuItem[] = terms.map((i) => {\n        return(this.projectTermToMenuItem(i, ContextualMenuItemType.Header));\n      });\n\n      // prepare the result\n      let result: IContextualMenuItem[] = sharedMenuItems;\n\n      // get the list of personal items from the User Profile Service\n      let upsService: SPUserProfileService = new SPUserProfileService(this.context);\n      let myLinksJson: any = await upsService.getUserProfileProperty(this.properties.personalItemsStorageProperty);\n\n      if (myLinksJson != null) {\n        if (myLinksJson.length > 0) {\n          this._myLinks = JSON.parse(myLinksJson) as IMyLink[];\n\n          // map the taxonomy items to the menu items\n          this._myLinksMenuItems = this._myLinks.map((i) => {\n            return(this.projectMyLinkToMenuItem(i, ContextualMenuItemType.Normal));\n          });\n        } else {\n          // if there are no personal items for my links, just provide an empty array that can be customized\n          this._myLinks = [];\n          this._myLinksMenuItems = [];\n        }\n      }\n\n      return(result);\n    }\n\n    // projects a Taxonomy term into an object of type IContextualMenuItem for the CommandBar\n    private projectTermToMenuItem(menuItem: ITerm, itemType: ContextualMenuItemType): IContextualMenuItem {\n      return({\n        key: menuItem.Id,\n        name: menuItem.Name,\n        itemType: itemType,\n        iconProps: {\n          iconName: (menuItem.LocalCustomProperties[\"PnP-CollabFooter-Icon\"] !== undefined ?\n            menuItem.LocalCustomProperties[\"PnP-CollabFooter-Icon\"]\n            : null)\n        },\n        href: menuItem.Terms.length === 0 ?\n            (menuItem.LocalCustomProperties[\"_Sys_Nav_SimpleLinkUrl\"] !== undefined ?\n                menuItem.LocalCustomProperties[\"_Sys_Nav_SimpleLinkUrl\"]\n                : null)\n            : null,\n        subMenuProps: menuItem.Terms.length > 0 ?\n            { items : menuItem.Terms.map((i) => { return(this.projectTermToMenuItem(i, ContextualMenuItemType.Normal)); }) }\n            : null,\n        isSubMenu: itemType !== ContextualMenuItemType.Header,\n      });\n    }\n\n    // projects a personal link item into an object of type IContextualMenuItem for the CommandBar\n    private projectMyLinkToMenuItem(menuItem: IMyLink, itemType: ContextualMenuItemType): IContextualMenuItem {\n      return({\n        key: menuItem.title,\n        name: menuItem.title,\n        itemType: itemType,\n        href: menuItem.url,\n        subMenuProps: null,\n        isSubMenu: itemType !== ContextualMenuItemType.Header,\n      });\n    }\n\n    private _editMyLinks = async (): Promise<ICollabFooterEditResult> => {\n\n      let result: ICollabFooterEditResult = {\n        editResult: null,\n        myLinks: null,\n      };\n\n      const myLinksDialog: MyLinksDialog = new MyLinksDialog(this._myLinks);\n      await myLinksDialog.show();\n\n      // update the local list of links\n      let resultingLinks: IMyLink[] = myLinksDialog.links;\n\n      if (this._myLinks !== resultingLinks) {\n        this._myLinks = resultingLinks;\n\n        // map the taxonomy items to the menu items\n        this._myLinksMenuItems = this._myLinks.map((i) => {\n          return(this.projectMyLinkToMenuItem(i, ContextualMenuItemType.Normal));\n        });\n\n        // update the result\n        result.myLinks = this._myLinksMenuItems;\n\n        // save the personal links in the UPS, if there are any updates\n        let upsService: SPUserProfileService = new SPUserProfileService(this.context);\n        result.editResult = await upsService.setUserProfileProperty(this.properties.personalItemsStorageProperty,\n          'String',\n          JSON.stringify(this._myLinks));\n      }\n\n      return (result);\n    }\n\n    private async _renderPlaceHolders(): Promise<void> {\n\n      // Handling the header placeholder\n      if (!this._footerPlaceholder) {\n        this._footerPlaceholder =\n          this.context.placeholderProvider.tryCreateContent(\n            PlaceholderName.Bottom,\n            { onDispose: this._onDispose });\n\n        // The extension should not assume that the expected placeholder is available.\n        if (!this._footerPlaceholder) {\n          console.error('The expected placeholder (Bottom) was not found.');\n          return;\n        }\n\n        const menuItems: IContextualMenuItem[] = await this.getMenuItems();\n\n        const element: React.ReactElement<ICollabFooterProps> = React.createElement(\n          CollabFooter,\n          {\n            sharedLinks: menuItems,\n            myLinks: this._myLinksMenuItems,\n            editMyLinks: this._editMyLinks\n          }\n        );\n\n        ReactDom.render(element, this._footerPlaceholder.domElement);\n      }\n    }\n\n    private _onDispose(): void {\n      console.log('[CollabFooterApplicationCustomizer._onDispose] Disposed custom bottom placeholder.');\n    }\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/CollabFooter.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.collabFooter {\n    .collabFooterContainer {\n        background-color: $ms-color-neutralLighter;\n        color: $ms-color-neutralPrimary;\n    }\n\n    .commandBar {\n        width: 100%;\n    }\n}"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/CollabFooter.tsx",
    "content": "import * as React from 'react';\nimport styles from './CollabFooter.module.scss';\n\nimport { ICollabFooterProps } from './ICollabFooterProps';\nimport { ICollabFooterState } from './ICollabFooterState';\nimport { ICollabFooterEditResult } from './ICollabFooterEditResult';\nimport * as strings from 'CollaborationFooterApplicationCustomizerStrings';\n\n// import additional controls/components\nimport { MessageBar, MessageBarType } from '@fluentui/react/lib/MessageBar';\nimport { CommandBar } from '@fluentui/react/lib/CommandBar';\nimport { ContextualMenuItemType, IContextualMenuItem } from '@fluentui/react/lib/ContextualMenu';\n\nexport default class CollabFooter extends React.Component<ICollabFooterProps, ICollabFooterState> {\n  \n   /**\n   * Main constructor for the component\n   */\n  constructor(props: ICollabFooterProps) {\n    super(props);\n\n    this.state = {\n      myLinks: props.myLinks,\n    };\n  }\n\n  public render(): React.ReactElement<ICollabFooterProps> {\n    \n    // console.log(\"CollabFooter.render\");\n    // console.log(this.state.myLinks);\n\n    let menuItems: IContextualMenuItem[] = this.props.sharedLinks;\n\n    // add the personal menu items to the list of menu items\n    if (this.state.myLinks != null && this.state.myLinks.length > 0) {\n      menuItems = menuItems.concat([\n        {\n          key: \"MyLinksRoot\",\n          name: strings.MyLinks,\n          itemType: ContextualMenuItemType.Header,\n          iconProps: {\n            iconName: \"Heart\"\n          },\n          subMenuProps: {\n            items: this.state.myLinks\n          },\n          isSubMenu: false,\n        }\n      ]);\n\n      // console.log(menuItems);\n    }\n\n    if (menuItems != null && menuItems.length > 0) {\n      return (\n        <div className={ styles.collabFooter }>\n          <div className={ styles.collabFooterContainer }>\n            { this.state.myLinksSaved != null ? (this.state.myLinksSaved ?\n                <MessageBar\n                  messageBarType={ MessageBarType.success }>{ strings.MyLinksSaveSuccess }</MessageBar> :\n                <MessageBar\n                  messageBarType={ MessageBarType.error }>{ strings.MyLinksSaveFailed }</MessageBar>) : null }\n            <CommandBar\n              className={ styles.commandBar }\n              items={ menuItems }\n              farItems={ (this.props.myLinks != null ? [\n                {\n                  key: \"editMyLinks\",\n                  name: strings.EditMyLinks,\n                  itemType: ContextualMenuItemType.Header,\n                  iconProps: {\n                    iconName: \"Edit\"\n                  },\n                  isSubMenu: false,\n                  onClick: this._editMyLinks,\n                }\n              ] : []) }\n              />\n          </div>\n        </div>\n      );\n    } else {\n      return (null);\n    }\n  }\n\n  // method used to edit and save personal items\n  private _editMyLinks = (): void => {\n    this.props.editMyLinks()\n      .then((editResult: ICollabFooterEditResult): void => {\n        // show result message\n        this.setState({\n          myLinksSaved: editResult.editResult,\n          myLinks: editResult.myLinks,\n        });\n\n        if (editResult != null) {\n          // hide the message after 2 sec\n          window.setTimeout(() => {\n            this.setState({\n              myLinksSaved: null,\n              });\n            }, 2000);\n        }\n      });\n  }\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/ICollabFooterEditResult.ts",
    "content": "import { IContextualMenuItem } from \"office-ui-fabric-react\";\n\nexport interface ICollabFooterEditResult {\n    editResult?: boolean;\n    myLinks: IContextualMenuItem[];\n}"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/ICollabFooterProps.ts",
    "content": "import { IContextualMenuItem } from 'office-ui-fabric-react';\nimport { ICollabFooterEditResult } from './ICollabFooterEditResult';\n\nexport interface ICollabFooterProps {\n    // used to pass the menu items from the extension to the React component\n    sharedLinks: IContextualMenuItem[];\n    // used to pass the personal links menu item\n    myLinks: IContextualMenuItem[];\n    // function to edit the list of my links\n    editMyLinks: () => Promise<ICollabFooterEditResult>;\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/ICollabFooterState.ts",
    "content": "import { IContextualMenuItem } from 'office-ui-fabric-react';\n\nexport interface ICollabFooterState {\n    // state variable to show the result of saving my links\n    myLinksSaved?: boolean;\n    // used to hold the personal links menu item\n    myLinks: IContextualMenuItem[];\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/IMyLink.ts",
    "content": "/**\n * Interface to define a single URL item for My Links\n */\nexport default interface IMyLink {\n    // the Title of the Link\n    title: string;\n    // the URL of theLink\n    url: string;\n}"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/MyLinks.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.myLinksDialogRoot {\n  .myLinksDialogContent {\n      text-align: left;\n      vertical-align: top;\n\n      .editPanel {\n        margin-top: 10px;\n        margin-bottom: 10px;\n      }\n\n      .textField {\n        width: 250px;\n      }\n  }\n}"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/MyLinksDialog.tsx",
    "content": "import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\n\n// import supporting types\nimport IMyLink from './IMyLink';\nimport styles from './MyLinks.module.scss';\nimport * as strings from 'MyLinksStrings';\n\n// import additional controls/components\nimport { BaseDialog, IDialogConfiguration } from '@microsoft/sp-dialog';\nimport { DefaultButton } from '@fluentui/react/lib/Button';\nimport { TextField } from '@fluentui/react/lib/TextField';\nimport { CommandBar } from '@fluentui/react/lib/CommandBar';\nimport { DetailsList, DetailsListLayoutMode, Selection, SelectionMode, IColumn } from '@fluentui/react/lib/DetailsList';\nimport { DialogContent, DialogFooter } from '@fluentui/react/lib/Dialog';\n\n/**\n * Define the columns that will be used to render the list of links\n */\nconst _linksColumns: IColumn[] = [\n  {\n    key: 'TitleColumn',\n    name: strings.TitleColumn,\n    fieldName: 'title',\n    minWidth: 150,\n    maxWidth: 350,\n    isResizable: true,\n    ariaLabel: strings.TitleColumnAriaLabel\n  },\n  {\n    key: 'urlColumn',\n    name: strings.UrlColumn,\n    fieldName: 'url',\n    minWidth: 150,\n    maxWidth: 350,\n    isResizable: true,\n    ariaLabel: strings.UrlColumnAriaLabel\n  }\n];\n\n/**\n * Defines the initialization properties for the MyLinks dialog window\n */\ninterface IMyLinksDialogContentProps {\n  // the array of Links to render/manage\n  links: Array<IMyLink>;\n  // cancel button handler, to undo the changes\n  cancel: () => void;\n  // save button handler, to save the Links\n  save: (links: Array<IMyLink>) => void;\n}\n\n/**\n * Defines the state for the MyLinks dialog window\n */\ninterface IMyLinksDialogContentState {\n  // the Links to render/manage\n  links: Array<IMyLink>;\n  // currently selected item, if any\n  selectedLink?: IMyLink;\n  // defines whether to show the detail (add/edit) panel or not\n  showDetailPanel?: boolean;\n  // defines whether the dialog is adding a new item\n  addingNewItem?: boolean;\n  // title for the pending editing item\n  title?: string;\n  // url for the pending editing item\n  url?: string;\n}\n\n/**\n * Defines the main content of the MyLinks dialog\n */\nclass MyLinksDialogContent extends\n  React.Component<IMyLinksDialogContentProps, IMyLinksDialogContentState> {\n\n  // to handle item selection in the DetailsList of Links\n  private _selection: Selection;\n\n  constructor(props: IMyLinksDialogContentProps) {\n    super(props);\n\n    this._selection = new Selection({\n      onSelectionChanged: () => {\n        let selectedLink: IMyLink = this._selection.getSelectedCount() !== 0 ? this._selection.getSelection()[0] as IMyLink : null;\n        this.setState({ selectedLink: selectedLink });\n      }\n    });\n\n    this.state = {\n      links: this.props.links,\n      showDetailPanel: false\n    };\n  }\n\n  public componentDidMount(): void {\n    // fire the resize event to paint the content of the dialog\n    let resizeEvent = window.document.createEvent('UIEvents');\n    resizeEvent.initUIEvent('resize', true, false, window, 0);\n    window.dispatchEvent(resizeEvent);\n  }\n\n  /**\n   * Renders the dialog content using an Office UI Fabric grid\n   */\n  public render(): JSX.Element {\n    return (<div className={styles.myLinksDialogRoot}>\n      <DialogContent\n        title={strings.MyLinksDialogTitle}\n        subText={strings.MyLinksDialogDescription}\n        onDismiss={this.props.cancel}\n        showCloseButton={!this.state.showDetailPanel}>\n\n        <div className={styles.myLinksDialogContent}>\n          <div className=\"ms-Grid\">\n            {this.state.showDetailPanel ?\n              <div className=\"ms-Grid-row\">\n                <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                  <div className=\"ms-Grid\">\n                    <div className=\"ms-Grid-row\">\n                      <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                        <TextField\n                          label={strings.LinkTitleLabel}\n                          required={true}\n                          value={this.state.title}\n                          minLength={150}\n                          className={styles.textField}\n                          onChange={this._onChangedTitle}\n                        />\n                      </div>\n                    </div>\n                    <div className=\"ms-Grid-row\">\n                      <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                        <TextField\n                          label={strings.LinkUrlLabel}\n                          required={true}\n                          value={this.state.url}\n                          minLength={150}\n                          className={styles.textField}\n                          onChange={this._onChangedUrl}\n                          onGetErrorMessage={this._getErrorMessageUrl}\n                        />\n                      </div>\n                    </div>\n                    <div className={`ms-Grid-row ${styles.editPanel}`}>\n                      <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                        <DefaultButton text={strings.DialogCancelButton}\n                          title={strings.DialogCancelButton} onClick={this._cancelEdit} />\n                        <DefaultButton primary={true}\n                          text={this.state.addingNewItem ? strings.DialogAddButton : strings.DialogUpdateButton}\n                          title={this.state.addingNewItem ? strings.DialogAddButton : strings.DialogUpdateButton}\n                          onClick={this._saveEdit} />\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n              : null}\n            {!this.state.showDetailPanel ?\n              <div className=\"ms-Grid-row\">\n                <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                  <CommandBar items={[\n                    {\n                      key: 'addRow',\n                      name: strings.AddLinkCommand,\n                      icon: 'Add',\n                      onClick: this.addLink\n                    },\n                    {\n                      key: 'editRow',\n                      name: strings.EditLinkCommand,\n                      icon: 'Edit',\n                      onClick: this.editLink,\n                      disabled: (this.state.selectedLink == null)\n                    },\n                    {\n                      key: 'deleteRow',\n                      name: strings.DeleteLinkCommand,\n                      icon: 'Delete',\n                      onClick: this.deleteLink,\n                      disabled: (this.state.selectedLink == null)\n                    }\n                  ]} />\n                </div>\n              </div>\n              : null}\n            {!this.state.showDetailPanel ?\n              <div className=\"ms-Grid-row\">\n                <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                  <DetailsList\n                    items={this.state.links}\n                    columns={_linksColumns}\n                    layoutMode={DetailsListLayoutMode.justified}\n                    selection={this._selection}\n                    selectionMode={SelectionMode.single}\n                    selectionPreservedOnEmptyClick={true}\n                    ariaLabelForSelectionColumn={strings.SelectionColumnAriaLabel}\n                    ariaLabelForSelectAllCheckbox={strings.SelectionAllColumnAriaLabel}\n                  />\n                </div>\n              </div>\n              : null}\n          </div>\n        </div>\n        {!this.state.showDetailPanel ?\n          <DialogFooter>\n            <DefaultButton text={strings.DialogCancelButton}\n              title={strings.DialogCancelButton} onClick={this.props.cancel} />\n            <DefaultButton text={strings.DialogSaveButton} primary={true}\n              title={strings.DialogSaveButton} onClick={() => { this.props.save(this.state.links); }} />\n          </DialogFooter>\n          : null}\n      </DialogContent>\n    </div>);\n  }\n\n  private _cancelEdit = (): void => {\n    // disable the detail panel\n    this.setState({\n      showDetailPanel: false,\n      title: \"\",\n      url: \"\"\n    });\n  }\n\n  private _saveEdit = (): void => {\n\n    if (!this.state.addingNewItem) {\n\n      const updatedLink: IMyLink = {\n        title: this.state.title,\n        url: this.state.url\n      };\n\n      // update the selected item\n      this.state.links[this.state.links.indexOf(this.state.selectedLink)] = updatedLink;\n\n      // refresh the array of Links\n      const updatedLinks: IMyLink[] = this.state.links.concat([]);\n\n      // update the list of links and disable the detail panel\n      this.setState({\n        showDetailPanel: false,\n        links: updatedLinks\n      });\n\n    } else {\n\n      const newLink: IMyLink = {\n        title: this.state.title,\n        url: this.state.url\n      };\n\n      // if we have a valid new link\n      if (newLink != null &&\n        newLink.title != null && newLink.title.length > 0 &&\n        newLink.url != null && newLink.url.length > 0) {\n\n        // add the new item to the array of Links\n        const updatedLinks: IMyLink[] = this.state.links.concat([newLink]);\n\n        // update the list of links and disable the detail panel\n        this.setState({\n          showDetailPanel: false,\n          links: updatedLinks\n        });\n      }\n    }\n  }\n\n  private _onChangedTitle = (event: React.FormEvent<HTMLElement>, newValue?: string) => {\n    this.setState({\n      title: newValue\n    });\n  }\n\n  private _onChangedUrl = (event: React.FormEvent<HTMLElement>, newValue?: string) => {\n    this.setState({\n      url: newValue\n    });\n  }\n\n  private _getErrorMessageUrl = (value: string): string => {\n    // validate the URL with a specific Regular Expression\n    const regEx: RegExp = /(https)?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&\\/\\/=]*)/;\n    return (value == null || value.length === 0 || regEx.test(value) ? \"\" : strings.InvalidUrlError);\n  }\n\n  private addLink = (): void => {\n    if (this.state.selectedLink != null &&\n      this.state.links != null &&\n      this.state.links.length > 0) {\n      this._selection.toggleIndexSelected(this.state.links.indexOf(this.state.selectedLink));\n    }\n\n    // enable the detail panel\n    this.setState({\n      showDetailPanel: true,\n      addingNewItem: true,\n      title: \"\",\n      url: \"\",\n      selectedLink: null\n    });\n  }\n\n  private editLink = (): void => {\n    // enable the detail panel\n    this.setState({\n      showDetailPanel: true,\n      addingNewItem: false,\n      title: this.state.selectedLink.title,\n      url: this.state.selectedLink.url\n    });\n  }\n\n  private deleteLink = (): void => {\n    // delete the selected link\n    this.state.links.splice(this.state.links.indexOf(this.state.selectedLink), 1);\n\n    // refresh the array of Links\n    const updatedLinks: IMyLink[] = this.state.links.concat([]);\n\n    // refresh the DetailsList view\n    this.setState({\n      links: updatedLinks\n    });\n  }\n}\n\n/**\n * Dialog window to show the list of links\n */\nexport default class MyLinksDialog extends BaseDialog {\n\n  // to keep track of the initial links in case user will cancel\n  private initialLinks: IMyLink[];\n\n  /**\n   * Constructor for the dialog window\n   */\n  constructor(public links: Array<IMyLink>, public isSave?: boolean) {\n    // Blocking or else click outside causes error in 1.7\n    super({isBlocking: true});\n\n    // clone the initial list of links we've got\n    this.initialLinks = (this.links != null) ? this.links.concat([]) : [];\n  }\n\n  public render(): void {\n    ReactDOM.render(<MyLinksDialogContent\n      links={this.links}\n      cancel={this._cancel}\n      save={this._save}\n    />,\n      this.domElement);\n  }\n\n  public getConfig(): IDialogConfiguration {\n    return {\n      isBlocking: true\n    };\n  }\n\n  private _cancel = (): void => {\n    this.isSave = false;\n    this.links = this.initialLinks;\n    // Fix for all browsers regarding SP Dialog not being to open twice\n    ReactDOM.unmountComponentAtNode(this.domElement);\n    this.close();\n  }\n\n  private _save = (links: Array<IMyLink>): void => {\n    this.isSave = true;\n    // Fix for all browsers regarding SP Dialog not being to open twice\n    ReactDOM.unmountComponentAtNode(this.domElement);\n    this.links = links;\n    this.close();\n  }\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Speichern\",\n    \"DialogCancelButton\": \"Abbrechen\",\n    \"DialogAddButton\": \"Hinzufügen\",\n    \"DialogUpdateButton\": \"Aktualisieren\",\n\n    \"MyLinksDialogTitle\": \"Meine Links\",\n    \"MyLinksDialogDescription\": \"Nutzen Sie diesen Dialog um ihre Links zu verwalten\",\n    \"SingleLinkDialogTitle\": \"Link hinzufügen/bearbeiten\",\n    \"SingleLinkDialogDescription\": \"Nutzen Sie diesen Dialog um das Link (hinzufügen/bearbeiten) zu verwalten\",\n    \"ConfirmDeleteLink\": \"Sind Sie sicher, das Sie diesen Link entfernen möchten?\",\n\n    \"LinkTitleLabel\": \"Titel\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"The bereitgestellt URL ist ungültig\",\n\n    \"TitleColumn\": \"Titel\",\n    \"TitleColumnAriaLabel\": \"Titel der URL\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"Hyperlink der URL\",\n    \"SelectionColumnAriaLabel\": \"Auswahl umschalten\",\n    \"SelectionAllColumnAriaLabel\": \"Auswahl für alle Items umschalten\",\n    \n    \"AddLinkCommand\": \"Hinzufügen\",\n    \"EditLinkCommand\": \"Ändern\",\n    \"DeleteLinkCommand\": \"Entfernen\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Save\",\n    \"DialogCancelButton\": \"Cancel\",\n    \"DialogAddButton\": \"Add\",\n    \"DialogUpdateButton\": \"Update\",\n\n    \"MyLinksDialogTitle\": \"My Links\",\n    \"MyLinksDialogDescription\": \"Use this dialog to manage your Links\",\n    \"SingleLinkDialogTitle\": \"Add/Edit Link\",\n    \"SingleLinkDialogDescription\": \"Use this dialog to manage (add/edit) a link\",\n    \"ConfirmDeleteLink\": \"Do you really want to delete the selected link?\",\n\n    \"LinkTitleLabel\": \"Title\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"The provided URL is not valid\",\n\n    \"TitleColumn\": \"Title\",\n    \"TitleColumnAriaLabel\": \"Title of the URL\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"Hyperlink of the URL\",\n    \"SelectionColumnAriaLabel\": \"Toggle selection\",\n    \"SelectionAllColumnAriaLabel\": \"Toggle selection for all items\",\n    \n    \"AddLinkCommand\": \"Add\",\n    \"EditLinkCommand\": \"Edit\",\n    \"DeleteLinkCommand\": \"Delete\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Guardar\",\n    \"DialogCancelButton\": \"Cancelar\",\n    \"DialogAddButton\": \"Agregar\",\n    \"DialogUpdateButton\": \"Actualizar\",\n\n    \"MyLinksDialogTitle\": \"Mis Enlaces\",\n    \"MyLinksDialogDescription\": \"Utilice esta ventana de dialogo para administrar sus enlaces\",\n    \"SingleLinkDialogTitle\": \"Agregar/Editar Enlace\",\n    \"SingleLinkDialogDescription\": \"Utilice esta ventana de dialogo para adminsitrar (agregar/editar) un enlace\",\n    \"ConfirmDeleteLink\": \"¿Realmente quiere eliminar el enlace seleccionado?\",\n\n    \"LinkTitleLabel\": \"Título\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"La direccion URL capturada no es valida\",\n\n    \"TitleColumn\": \"Título\",\n    \"TitleColumnAriaLabel\": \"Título de la dirección URL\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"Hypervinculo de la dirección URL\",\n    \"SelectionColumnAriaLabel\": \"Seleccion Toggle\",\n    \"SelectionAllColumnAriaLabel\": \"Seleccion Toggle para todos los elementos\",\n    \n    \"AddLinkCommand\": \"Agregar\",\n    \"EditLinkCommand\": \"Editar\",\n    \"DeleteLinkCommand\": \"Eliminar\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Sauvegarder\",\n    \"DialogCancelButton\": \"Annuler\",\n    \"DialogAddButton\": \"Ajouter\",\n    \"DialogUpdateButton\": \"Mettre à jour\",\n\n    \"MyLinksDialogTitle\": \"Mes Liens\",\n    \"MyLinksDialogDescription\": \"Utilisez cette boîte de dialogue pour gérer vos liens\",\n    \"SingleLinkDialogTitle\": \"Ajouter/Modifier lien\",\n    \"SingleLinkDialogDescription\": \"Utiliser cette boîte de dialogue pour gérer (ajouter / modifier) un lien\",\n    \"ConfirmDeleteLink\": \"Voulez-vous vraiment supprimer le lien sélectionné?\",\n\n    \"LinkTitleLabel\": \"Titre\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"L'URL fournie n'est pas valide\",\n\n    \"TitleColumn\": \"Titre\",\n    \"TitleColumnAriaLabel\": \"Titre de l'URL\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"Hyperlien de l'URL\",\n    \"SelectionColumnAriaLabel\": \"Basculer la sélection\",\n    \"SelectionAllColumnAriaLabel\": \"Basculer la sélection pour tous les objets\",\n    \n    \"AddLinkCommand\": \"Ajouter\",\n    \"EditLinkCommand\": \"Modifier\",\n    \"DeleteLinkCommand\": \"Supprimer\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/loc/mystrings.d.ts",
    "content": "declare interface IMyLinksStrings {\n\n  // generic labels for dialogs\n  DialogSaveButton: string;\n  DialogCancelButton: string;\n  DialogAddButton: string;\n  DialogUpdateButton: string;\n\n  // labels for the dialog content\n  MyLinksDialogTitle: string;\n  MyLinksDialogDescription: string;\n  SingleLinkDialogTitle: string;\n  SingleLinkDialogDescription: string;\n  ConfirmDeleteLink: string;\n\n  // labels for the SingleLink editor dialog\n  LinkTitleLabel: string;\n  LinkUrlLabel: string;\n  InvalidUrlError: string;\n\n  // labels for DetailList of URLs\n  TitleColumn: string;\n  TitleColumnAriaLabel: string;\n  UrlColumn: string;\n  UrlColumnAriaLabel: string;\n  SelectionColumnAriaLabel: string;\n  SelectionAllColumnAriaLabel: string;\n\n  // labels for the CommandBar\n  AddLinkCommand: string;\n  EditLinkCommand: string;\n  DeleteLinkCommand: string;\n}\n\ndeclare module 'MyLinksStrings' {\n  const strings: IMyLinksStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Lagre\",\n    \"DialogCancelButton\": \"Avbryt\",\n    \"DialogAddButton\": \"Legg til\",\n    \"DialogUpdateButton\": \"Oppdater\",\n\n    \"MyLinksDialogTitle\": \"Mine lenker\",\n    \"MyLinksDialogDescription\": \"Bruk denne dialogen for å håndtere dine lenker\",\n    \"SingleLinkDialogTitle\": \"Legg til/redigere lenke\",\n    \"SingleLinkDialogDescription\": \"Bruk denne dialogen for å håndtere (legg til/rediger) en lenke\",\n    \"ConfirmDeleteLink\": \"Vil du virkelig slette den valgte lenken?\",\n\n    \"LinkTitleLabel\": \"Tittel\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"Den angitte URL-en er ugyldig\",\n\n    \"TitleColumn\": \"Tittel\",\n    \"TitleColumnAriaLabel\": \"Tittel på URL-en\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"URL-ens hyperlenke\",\n    \"SelectionColumnAriaLabel\": \"Endre valg\",\n    \"SelectionAllColumnAriaLabel\": \"Endre valg for alle objekt\",\n\n    \"AddLinkCommand\": \"Legg til\",\n    \"EditLinkCommand\": \"Rediger\",\n    \"DeleteLinkCommand\": \"Slett\"\n  }\n});\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"DialogSaveButton\": \"Opslaan\",\n      \"DialogCancelButton\": \"Annuleren\",\n      \"DialogAddButton\": \"Toevoegen\",\n      \"DialogUpdateButton\": \"Bijwerken\",\n  \n      \"MyLinksDialogTitle\": \"Mijn Links\",\n      \"MyLinksDialogDescription\": \"Gebruik dit dialoogvenster om je links te beheren\",\n      \"SingleLinkDialogTitle\": \"Toevoegen/Bewerken Link\",\n      \"SingleLinkDialogDescription\": \"Gebruik dit dialoogvenster voor het beheren (toevoegen/bewerken) van een link\",\n      \"ConfirmDeleteLink\": \"Weet je zeker dat je de geselecteerde link wil verwijderen?\",\n  \n      \"LinkTitleLabel\": \"Titel\",\n      \"LinkUrlLabel\": \"URL\",\n      \"InvalidUrlError\": \"De opgegeven URL is niet geldig\",\n  \n      \"TitleColumn\": \"Titel\",\n      \"TitleColumnAriaLabel\": \"Titel van de URL\",\n      \"UrlColumn\": \"URL\",\n      \"UrlColumnAriaLabel\": \"Hyperlink van de URL\",\n      \"SelectionColumnAriaLabel\": \"Selectie omzetten\",\n      \"SelectionAllColumnAriaLabel\": \"Selectie omzetten voor alle items\",\n      \n      \"AddLinkCommand\": \"Toevoegen\",\n      \"EditLinkCommand\": \"Bewerken\",\n      \"DeleteLinkCommand\": \"Verwijderen\"\n      }\n  });\n  "
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Spara\",\n    \"DialogCancelButton\": \"Avbryt\",\n    \"DialogAddButton\": \"Lägg till\",\n    \"DialogUpdateButton\": \"Uppdatera\",\n\n    \"MyLinksDialogTitle\": \"Mina Länkar\",\n    \"MyLinksDialogDescription\": \"Använd den här dialogrutan för att hantera dina länkar\",\n    \"SingleLinkDialogTitle\": \"Lägg till/Redigera Länk\",\n    \"SingleLinkDialogDescription\": \"Använd den här dialogrutan för att hantera (lägg till/redigera) en länk\",\n    \"ConfirmDeleteLink\": \"Vill du verkligen ta bort den valda länken?\",\n\n    \"LinkTitleLabel\": \"Titel\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"Den angivna URLen är inte giltig\",\n\n    \"TitleColumn\": \"Titel\",\n    \"TitleColumnAriaLabel\": \"Titel på URLen\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"URLens hyperlänk\",\n    \"SelectionColumnAriaLabel\": \"Växla val\",\n    \"SelectionAllColumnAriaLabel\": \"Växla val för alla objekt\",\n    \n    \"AddLinkCommand\": \"Lägg till\",\n    \"EditLinkCommand\": \"Redigera\",\n    \"DeleteLinkCommand\": \"Radera\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/components/myLinks/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Kaydet\",\n    \"DialogCancelButton\": \"İptal\",\n    \"DialogAddButton\": \"Ekle\",\n    \"DialogUpdateButton\": \"Güncelle\",\n\n    \"MyLinksDialogTitle\": \"Bağlantılarım\",\n    \"MyLinksDialogDescription\": \"Bağlantılarınızı yönetmek için bu iletişim kutusunu kullanın\",\n    \"SingleLinkDialogTitle\": \"Bağlantı Ekle / Düzenle\",\n    \"SingleLinkDialogDescription\": \"Bir bağlantıyı yönetmek için (eklemek / düzenlemek) bu iletişim kutusunu kullanın\",\n    \"ConfirmDeleteLink\": \"Seçili bağlantıyı gerçekten silmek istiyor musunuz?\",\n\n    \"LinkTitleLabel\": \"Başlık\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"Sağlanan URL geçerli değil\",\n\n    \"TitleColumn\": \"Başlık\",\n    \"TitleColumnAriaLabel\": \"URL’nin Başlığı\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"URL’nin köprüsü\",\n    \"SelectionColumnAriaLabel\": \"Seçimi değiştir\",\n    \"SelectionAllColumnAriaLabel\": \"Tüm öğeler için seçimi değiştir\",\n    \n    \"AddLinkCommand\": \"Ekle\",\n    \"EditLinkCommand\": \"Düzenle\",\n    \"DeleteLinkCommand\": \"Sil\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"Title\": \"CollabFooterApplicationCustomizer\",\n    \"MyLinks\": \"Meine Links\",\n    \"EditMyLinks\": \"Ändere meine Links\",\n    \"MyLinksSaveSuccess\": \"Meine Links wurden erfolgreich gespeichert!\",\n    \"MyLinksSaveFailed\": \"Das Speichern meiner Links ist fehlgeschlagen!\"\n    }\n});"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"Title\": \"CollabFooterApplicationCustomizer\",\n    \"MyLinks\": \"My Links\",\n    \"EditMyLinks\": \"Edit My Links\",\n    \"MyLinksSaveSuccess\": \"My links successfully saved!\",\n    \"MyLinksSaveFailed\": \"Failed to save my links!\"\n    }\n});"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"Title\": \"CollabFooterApplicationCustomizer\",\n    \"MyLinks\": \"Mis enlaces\",\n    \"EditMyLinks\": \"Modificar Mis Enlaces\",\n    \"MyLinksSaveSuccess\": \"Mis enlaces guardados exitosamente!\",\n    \"MyLinksSaveFailed\": \"Fallo al guardar su enlace!\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"Title\": \"CollabFooterApplicationCustomizer\",\n    \"MyLinks\": \"Mes Liens\",\n    \"EditMyLinks\": \"Editer Mes Liens\",\n    \"MyLinksSaveSuccess\": \"Mes liens ont été enregistrés avec succès!\",\n    \"MyLinksSaveFailed\": \"Échec de l'enregistrement de mes liens!\"\n    }\n});"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/loc/myStrings.d.ts",
    "content": "declare interface ICollabFooterApplicationCustomizerStrings {\n  Title: string;\n  MyLinks: string;\n  EditMyLinks: string;\n  MyLinksSaveSuccess: string;\n  MyLinksSaveFailed: string;\n}\n\ndeclare module 'CollaborationFooterApplicationCustomizerStrings' {\n  const strings: ICollabFooterApplicationCustomizerStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"Title\": \"CollabFooterApplicationCustomizer\",\n    \"MyLinks\": \"Mine lenker\",\n    \"EditMyLinks\": \"Rediger mine lenker\",\n    \"MyLinksSaveSuccess\": \"Mine lenker har blitt lagret!\",\n    \"MyLinksSaveFailed\": \"Lagring av mine lenker feilet!\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"Title\": \"CollabFooterApplicationCustomizer\",\n      \"MyLinks\": \"Mijn Links\",\n      \"EditMyLinks\": \"Bewerk Mijn Links\",\n      \"MyLinksSaveSuccess\": \"Mijn links succesvol opgeslagen!\",\n      \"MyLinksSaveFailed\": \"Opslaan van Mijn Links mislukt!\"\n      }\n  });"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"Title\": \"CollabFooterApplicationCustomizer\",\n    \"MyLinks\": \"Mina Länkar\",\n    \"EditMyLinks\": \"Redigera Mina Länkar\",\n    \"MyLinksSaveSuccess\": \"Mina länkar har sparats!\",\n    \"MyLinksSaveFailed\": \"Misslyckades med att spara mina länkar!\"\n    }\n});"
  },
  {
    "path": "source/react-application-collab-footer/src/extensions/collaborationFooter/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"Title\": \"CollabFooterApplicationCustomizer\",\n    \"MyLinks\": \"Bağlantılarım\",\n    \"EditMyLinks\": \"Bağlantılarımı Düzenle\",\n    \"MyLinksSaveSuccess\": \"Bağlantılarım başarıyla kaydedildi!\",\n    \"MyLinksSaveFailed\": \"Bağlantılarım kaydedilemedi!\"\n    }\n});"
  },
  {
    "path": "source/react-application-collab-footer/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-application-collab-footer/src/services/SPTaxonomyService.ts",
    "content": "/**\n * DISCLAIMER\n *\n * As there is not yet an OData end-point for managed metadata, this service makes use of the ProcessQuery end-points.\n * The service will get updated once the APIs are in place for managing managed metadata.\n */\n\nimport { IWebPartContext} from '@microsoft/sp-webpart-base';\nimport { ExtensionContext } from '@microsoft/sp-extension-base';\nimport { Environment, EnvironmentType } from '@microsoft/sp-core-library';\nimport { SPHttpClient, SPHttpClientResponse, ISPHttpClientOptions } from '@microsoft/sp-http';\nimport { ITermSets, ITermSet, ITerms, ITerm } from './SPTaxonomyTypes';\n\nexport default class SPTaxonomyService {\n\n  // private member to hold the URL of the /_vti_bin/client.svc/ProcessQuery endpoint\n  private clientServiceUrl: string;\n\n  // private member to hold the URL of the /_api/contextinfo endpoint\n  private contextInfoUrl: string;\n\n  // private member to hold the FormDigest for SPO\n  private formDigest: string;\n\n  /**\n   * Main constructor for the Taxonomy Service\n   */\n  constructor(private context: IWebPartContext | ExtensionContext) {\n    this.clientServiceUrl = this.context.pageContext.web.absoluteUrl + '/_vti_bin/client.svc/ProcessQuery';\n    this.contextInfoUrl = this.context.pageContext.web.absoluteUrl + '/_api/contextinfo';\n  }\n\n  /**\n   * @function\n   * Retrieves a new value for the Form Digest for SPO\n   */\n  private async getFormDigest(): Promise<string> {\n\n    let httpPostOptions: ISPHttpClientOptions = {\n      headers: {\n      \"accept\": \"application/json\",\n      \"content-type\": \"application/json\"\n      }\n    };\n    let contextInfoResponse: SPHttpClientResponse =\n      await this.context.spHttpClient.post(this.contextInfoUrl,\n        SPHttpClient.configurations.v1, httpPostOptions);\n    let contextInfoJsonResponse: any = await contextInfoResponse.json();\n    const formDigest: string = contextInfoJsonResponse.FormDigestValue;\n\n    return(formDigest);\n  }\n\n  /**\n   * @function\n   * Retrieves the collection of terms for a term set stored in the current SharePoint env\n   */\n  public async getTermsFromTermSet(termSetName: string, locale: number = 1033): Promise<ITerm[]> {\n\n    // if we are in a real SharePoint environment\n    if (Environment.type === EnvironmentType.SharePoint ||\n      Environment.type === EnvironmentType.ClassicSharePoint) {\n\n      this.formDigest = await this.getFormDigest();\n\n      // build the Client Service Request\n      let data: string = `<Request AddExpandoFieldTypeSuffix=\"true\" SchemaVersion=\"15.0.0.0\"\n        LibraryVersion=\"16.0.0.0\" ApplicationName=\"JavaScript Client\"\n        xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\">\n          <Actions>\n            <ObjectPath Id=\"2\" ObjectPathId=\"1\" />\n            <ObjectIdentityQuery Id=\"3\" ObjectPathId=\"1\" />\n            <ObjectPath Id=\"5\" ObjectPathId=\"4\" />\n            <ObjectIdentityQuery Id=\"6\" ObjectPathId=\"4\" />\n            <ObjectPath Id=\"8\" ObjectPathId=\"7\" />\n            <Query Id=\"9\" ObjectPathId=\"7\">\n              <Query SelectAllProperties=\"false\">\n                <Properties />\n              </Query>\n              <ChildItemQuery SelectAllProperties=\"false\">\n                <Properties>\n                  <Property Name=\"Terms\" SelectAll=\"true\">\n                    <Query SelectAllProperties=\"false\">\n                      <Properties />\n                    </Query>\n                  </Property>\n                </Properties>\n              </ChildItemQuery>\n            </Query>\n          </Actions>\n          <ObjectPaths>\n            <StaticMethod Id=\"1\" Name=\"GetTaxonomySession\"\n              TypeId=\"{981cbc68-9edc-4f8d-872f-71146fcbb84f}\" />\n            <Method Id=\"4\" ParentId=\"1\" Name=\"GetDefaultSiteCollectionTermStore\" />\n            <Method Id=\"7\" ParentId=\"4\" Name=\"GetTermSetsByName\">\n              <Parameters>\n                <Parameter Type=\"String\">${termSetName}</Parameter>\n                <Parameter Type=\"Int32\">${locale}</Parameter>\n              </Parameters>\n            </Method>\n          </ObjectPaths>\n        </Request>`;\n\n      let httpPostOptions: ISPHttpClientOptions = {\n        headers: {\n          'accept': 'application/json',\n          'content-type': 'text/xml',\n          \"X-RequestDigest\": this.formDigest\n        },\n        body: data\n      };\n\n      let serviceResponse: SPHttpClientResponse =\n        await this.context.spHttpClient.post(this.clientServiceUrl,\n            SPHttpClient.configurations.v1, httpPostOptions);\n      let serviceJSONResponse: Array<any> = await serviceResponse.json();\n\n      //let result: Array<ITerm> = new Array<ITerm>();\n\n      // extract the object of type SP.Taxonomy.TermSetCollection from the array\n      let termSetsCollections: ITermSets[] = serviceJSONResponse.filter(\n        (child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === \"SP.Taxonomy.TermSetCollection\")\n      );\n\n      // and if any, process the TermSet objects in it\n      if (termSetsCollections != null && termSetsCollections.length > 0) {\n        let termSetCollection: ITermSets = termSetsCollections[0];\n\n        let childTermSets: ITermSet[] = termSetCollection._Child_Items_;\n\n        // extract the object of type SP.Taxonomy.TermSet from the array\n        let termSets: ITermSet[] = childTermSets.filter(\n          (child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === \"SP.Taxonomy.TermSet\")\n        );\n\n        // and if any, process the requested TermSet object\n        if (termSets != null && termSets.length > 0) {\n          let termSet: ITermSet = termSets[0];\n\n          let childItems: ITerm[] = termSet.Terms._Child_Items_;\n\n          return(await Promise.all<ITerm>(childItems.map(async (t: any): Promise<ITerm> => {\n            return await this.expandTerm(t);\n          })));\n        }\n      }\n    }\n\n    // default empty array in case of any missing data\n    return (new Promise<Array<ITerm>>((resolve, reject) => {\n      resolve(new Array<ITerm>());\n    }));\n  }\n\n\n  /**\n   * @function\n   * Gets the child terms of another term of the Term Store in the current SharePoint env\n   */\n  private async getChildTerms(term: ITerm): Promise<ITerm[]> {\n\n    // check if there are child terms to search for\n    if (Number(term.TermsCount) > 0) {\n\n      // build the Client Service Request\n      let data: string = `<Request AddExpandoFieldTypeSuffix=\"true\"\n      SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\"\n      ApplicationName=\".NET Library\"\n      xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\">\n        <Actions>\n          <ObjectPath Id=\"20\" ObjectPathId=\"19\" />\n          <Query Id=\"21\" ObjectPathId=\"19\">\n            <Query SelectAllProperties=\"false\">\n              <Properties />\n            </Query>\n            <ChildItemQuery SelectAllProperties=\"true\">\n              <Properties>\n                <Property Name=\"CustomSortOrder\" ScalarProperty=\"true\" />\n                <Property Name=\"CustomProperties\" ScalarProperty=\"true\" />\n                <Property Name=\"LocalCustomProperties\" ScalarProperty=\"true\" />\n              </Properties>\n            </ChildItemQuery>\n          </Query>\n        </Actions>\n        <ObjectPaths>\n          <Property Id=\"19\" ParentId=\"16\" Name=\"Terms\" />\n          <Identity Id=\"16\" Name=\"${term._ObjectIdentity_}\" />\n        </ObjectPaths>\n      </Request>`;\n\n      let httpPostOptions: ISPHttpClientOptions = {\n        headers: {\n          'accept': 'application/json',\n          'content-type': 'text/xml',\n          \"X-RequestDigest\": this.formDigest\n        },\n        body: data\n      };\n\n      let serviceResponse: SPHttpClientResponse =\n        await this.context.spHttpClient.post(this.clientServiceUrl,\n          SPHttpClient.configurations.v1, httpPostOptions);\n\n      let serviceJSONResponse: Array<any> = await serviceResponse.json();\n\n      // extract the object of type SP.Taxonomy.TermCollection from the array\n      let termsCollections: ITerms[] = serviceJSONResponse.filter(\n        (child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === \"SP.Taxonomy.TermCollection\")\n      );\n\n      // and if any, get the first and unique Terms collection object\n      if (termsCollections != null && termsCollections.length > 0) {\n        let termsCollection: ITerms = termsCollections[0];\n\n        let childItems: Array<ITerm> = termsCollection._Child_Items_;\n\n        return(await Promise.all<ITerm>(childItems.map(async (t: ITerm): Promise<ITerm> => {\n          return await this.expandTerm(t);\n        })));\n      }\n    }\n\n    // default empty array in case of any missing data\n    return (new Promise<Array<ITerm>>((resolve, reject) => {\n      resolve(new Array<ITerm>());\n    }));\n  }\n\n  /**\n   * @function\n   * Expands a Term object of type ITerm, including child terms\n   * @param guid\n   */\n  private async expandTerm(term: ITerm): Promise<ITerm> {\n\n    let childTerms: ITerm[] = await this.getChildTerms(term);\n    term.CustomProperties = term.CustomProperties !== undefined ? term.CustomProperties : null;\n    term.Id = term.Id !== undefined ? this.cleanGuid(term.Id) : \"\";\n    term.LocalCustomProperties = term.LocalCustomProperties !== undefined ? term.LocalCustomProperties : null;\n    term.Terms = childTerms;\n    term.TermsCount = childTerms.length;\n    term.PathDepth = term.PathOfTerm.split(';').length;\n\n    return(term);\n  }\n\n  /**\n   * @function\n   * Clean the Guid from the Web Service response\n   * @param guid\n   */\n  private cleanGuid(guid: string): string {\n    if (guid !== undefined) {\n      return guid.replace('/Guid(', '').replace('/', '').replace(')', '');\n    } else {\n      return(\"\");\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/services/SPTaxonomyTypes.ts",
    "content": "/**\n * Defines the SP.Taxonomy.TermSetCollection type\n */\nexport interface ITermSets {\n  _ObjectType_: string;\n  _Child_Items_: ITermSet[];\n}\n\n/**\n * Defines the SP.Taxonomy.TermSet type\n */\nexport interface ITermSet {\n  _ObjectType_: string;\n  _ObjectIdentity_: string;\n  Id: string;\n  Name: string;\n  Description: string;\n  Terms: ITerms;\n}\n\n/**\n * SP.Taxonomy.TermCollection\n */\nexport interface ITerms {\n  _ObjectType_: string;\n  _Child_Items_: ITerm[];\n}\n\n/**\n * SP.Taxonomy.Term\n */\nexport interface ITerm {\n  _ObjectType_: string;\n  _ObjectIdentity_: string;\n  CreatedDate: string;\n  CustomProperties: any;\n  CustomSortOrder: string;\n  Description: string;\n  Id: string;\n  IsAvailableForTagging: boolean;\n  IsDeprecated: boolean;\n  IsKeyword: boolean;\n  IsPinned: boolean;\n  IsPinnedRoot: boolean;\n  IsReused: boolean;\n  IsRoot: boolean;\n  IsSourceTerm: boolean;\n  LastModifiedDate: string;\n  LocalCustomProperties: any;\n  Name: string;\n  Owner: string;\n  PathOfTerm: string;\n  PathDepth?: number;\n  Terms: ITerm[];\n  TermsCount: number;\n}"
  },
  {
    "path": "source/react-application-collab-footer/src/services/SPUserProfileService.ts",
    "content": "/**\n * DISCLAIMER\n *\n * As there is not yet an OData end-point for managed metadata, this service makes use of the ProcessQuery end-points.\n * The service will get updated once the APIs are in place for managing managed metadata.\n */\n\nimport { IWebPartContext} from '@microsoft/sp-webpart-base';\nimport { ExtensionContext } from '@microsoft/sp-extension-base';\nimport { Environment, EnvironmentType } from '@microsoft/sp-core-library';\nimport { SPHttpClient, SPHttpClientResponse, ISPHttpClientOptions } from '@microsoft/sp-http';\nimport { IPersonProperties, ISetPropertyResponse } from './SPUserProfileTypes';\n\nexport default class SPUserProfileService {\n\n  // private member to hold the URL of the /_vti_bin/client.svc/ProcessQuery endpoint\n  private clientServiceUrl: string;\n\n  // private member to hold the URL of the /_api/contextinfo endpoint\n  private contextInfoUrl: string;\n\n  // private member to hold the FormDigest for SPO\n  private formDigest: string;\n\n  /**\n   * Main constructor for the Taxonomy Service\n   */\n  constructor(private context: IWebPartContext | ExtensionContext) {\n    this.clientServiceUrl = this.context.pageContext.web.absoluteUrl + '/_vti_bin/client.svc/ProcessQuery';\n    this.contextInfoUrl = this.context.pageContext.web.absoluteUrl + '/_api/contextinfo';\n  }\n\n  /**\n   * @function\n   * Retrieves a new value for the Form Digest for SPO\n   */\n  private async getFormDigest(): Promise<string> {\n\n    let httpPostOptions: ISPHttpClientOptions = {\n      headers: {\n      \"accept\": \"application/json\",\n      \"content-type\": \"application/json\"\n      }\n    };\n    let contextInfoResponse: SPHttpClientResponse =\n      await this.context.spHttpClient.post(this.contextInfoUrl,\n        SPHttpClient.configurations.v1, httpPostOptions);\n    let contextInfoJsonResponse: any = await contextInfoResponse.json();\n    const formDigest: string = contextInfoJsonResponse.FormDigestValue;\n\n    return(formDigest);\n  }\n\n  /**\n   * @function\n   * Retrieves the value of a User Profile property for the current user\n   */\n  public async getUserProfileProperty(propertyName: string): Promise<any> {\n\n    // if we are in a real SharePoint environment\n    if (Environment.type === EnvironmentType.SharePoint ||\n      Environment.type === EnvironmentType.ClassicSharePoint) {\n\n      this.formDigest = await this.getFormDigest();\n\n      // build the Client Service Request\n      let data: string = `<Request AddExpandoFieldTypeSuffix=\"true\"\n        SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\"\n        ApplicationName=\".NET Library\"\n        xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\">\n            <Actions>\n                <ObjectPath Id=\"2\" ObjectPathId=\"1\" />\n                <ObjectPath Id=\"4\" ObjectPathId=\"3\" />\n                <Query Id=\"5\" ObjectPathId=\"3\">\n                    <Query SelectAllProperties=\"false\">\n                        <Properties>\n                            <Property Name=\"AccountName\" ScalarProperty=\"true\" />\n                            <Property Name=\"UserProfileProperties\" ScalarProperty=\"true\" />\n                        </Properties>\n                    </Query>\n                </Query>\n            </Actions>\n            <ObjectPaths>\n                <Constructor Id=\"1\" TypeId=\"{cf560d69-0fdb-4489-a216-b6b47adf8ef8}\" />\n                <Method Id=\"3\" ParentId=\"1\" Name=\"GetMyProperties\" />\n            </ObjectPaths>\n        </Request>`;\n\n      let httpPostOptions: ISPHttpClientOptions = {\n        headers: {\n          'accept': 'application/json',\n          'content-type': 'text/xml',\n          \"X-RequestDigest\": this.formDigest\n        },\n        body: data\n      };\n\n      let serviceResponse: SPHttpClientResponse =\n        await this.context.spHttpClient.post(this.clientServiceUrl,\n            SPHttpClient.configurations.v1, httpPostOptions);\n      let serviceJSONResponse: Array<any> = await serviceResponse.json();\n\n      // extract the object of type SP.UserProfiles.PersonProperties from the array\n      let personPropertiesCollection: IPersonProperties[] = serviceJSONResponse.filter(\n        (child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === \"SP.UserProfiles.PersonProperties\")\n      );\n\n      // and if any, process the TermSet objects in it\n      if (personPropertiesCollection != null && personPropertiesCollection.length > 0) {\n        let personProperties: IPersonProperties = personPropertiesCollection[0];\n\n        // return the requested User Profile property\n        return(personProperties.UserProfileProperties[propertyName]);\n      }\n    }\n\n    // default empty item in case of any missing data\n    return (new Promise<any>((resolve, reject) => {\n      resolve(null);\n    }));\n  }\n\n  /**\n   * @function\n   * Retrieves the value of a User Profile property for the current user\n   */\n  public async setUserProfileProperty(propertyName: string, propertyType: string, value: any): Promise<boolean> {\n\n    // if we are in a real SharePoint environment\n    if (Environment.type === EnvironmentType.SharePoint ||\n      Environment.type === EnvironmentType.ClassicSharePoint) {\n\n      this.formDigest = await this.getFormDigest();\n\n      // make the request based on the current user's name\n      const currentUserName: string = `i:0#.f|membership|${this.context.pageContext.user.loginName}`;\n\n      // build the Client Service Request\n      let data: string = `<Request AddExpandoFieldTypeSuffix=\"true\"\n        SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\"\n        ApplicationName=\".NET Library\"\n        xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\">\n          <Actions>\n            <Method Name=\"SetSingleValueProfileProperty\" Id=\"7\" ObjectPathId=\"1\">\n              <Parameters>\n                <Parameter Type=\"String\">${currentUserName}</Parameter>\n                <Parameter Type=\"String\">${propertyName}</Parameter>\n                <Parameter Type=\"${propertyType}\">${value}</Parameter>\n              </Parameters>\n            </Method>\n          </Actions>\n          <ObjectPaths>\n            <Constructor Id=\"1\" TypeId=\"{cf560d69-0fdb-4489-a216-b6b47adf8ef8}\" />\n          </ObjectPaths>\n        </Request>`;\n\n      let httpPostOptions: ISPHttpClientOptions = {\n        headers: {\n          'accept': 'application/json',\n          'content-type': 'text/xml',\n          \"X-RequestDigest\": this.formDigest\n        },\n        body: data\n      };\n\n      let serviceResponse: SPHttpClientResponse =\n        await this.context.spHttpClient.post(this.clientServiceUrl,\n            SPHttpClient.configurations.v1, httpPostOptions);\n      let serviceJSONResponse: Array<any> = await serviceResponse.json();\n\n      // get the response, if any\n      if (serviceJSONResponse != null && serviceJSONResponse.length > 0) {\n        let response: ISetPropertyResponse = serviceJSONResponse[0];\n\n        // return the requested User Profile property\n        return(response.ErrorInfo === null);\n      }\n    }\n\n    // default to false in case of any missing data\n    return (new Promise<boolean>((resolve, reject) => {\n      resolve(false);\n    }));\n  }\n}\n"
  },
  {
    "path": "source/react-application-collab-footer/src/services/SPUserProfileTypes.ts",
    "content": "/**\n * Defines SP.UserProfiles.PersonProperties type\n */\nexport interface IPersonProperties {\n    _ObjectType_: string;\n    AccountName: string;\n    UserProfileProperties: any;\n}\n\n/**\n * Defines the structure of the response for a User Profile property updated\n */\nexport interface ISetPropertyResponse {\n    ErrorInfo: string;\n    LibraryVersion: string;\n    SchemaVersion: string;\n    TraceCorrelationId: string;\n}"
  },
  {
    "path": "source/react-application-collab-footer/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-application-portal-footer/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/default'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 0,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 0,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 0,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // no-useless-escape\n        // ====================================================================\n        'no-useless-escape': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-application-portal-footer/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n\n# Package Lock\npackage-lock.json\n\n"
  },
  {
    "path": "source/react-application-portal-footer/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-application-portal-footer/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-application-portal-footer/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-application-portal-footer/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-application-portal-footer\",\n    \"libraryId\": \"4d7c1cea-0ef5-4143-88f6-43411d978b2f\",\n    \"packageManager\": \"npm\",\n    \"componentType\": \"extension\",\n    \"extensionType\": \"ApplicationCustomizer\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false\n  }\n}"
  },
  {
    "path": "source/react-application-portal-footer/README.md",
    "content": "# Portal Footer Application Customizer\n\nThis application customizer provides you the ability to include a footer designed for communiation sites. The footer includes sets of links configured using the tenant wide deployment list at the app catalog (global links). A second set of links are personalized links, unqiue to each user, stored within each user's user profile within a user profile property. If this property does not exist in the user profile service, this capability will be hidden. \n\nPortal footer has extending UI experience if user clicks the top arrow in the footer. \n\n![Portal Footer](../../assets/images/components/ext-portal-footer.gif)\n\nDetails on implementation at https://github.com/SharePoint/sp-starter-kit/blob/master/documentation/components/ext-portal-footer.md\n\n## Configurable Properties\n\nThe `Portal Footer` application customizers can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Global links | linksListTitle | string | yes | The title of the list of global links |\n| User profile propery name | personalItemsStorageProperty | string | yes | The name of the user profile property to store user specific links |\n| Copyright message | copyright | string | yes | Footer copyright message |\n| Support message | support | string | yes | A support message, i.e. email address or link |\n\n## Modifying Extension properties\n\nThis extension has a collection of properties that are set by default, although may be modified using the [`PnP PowerShell`](https://github.com/pnp/powershell) commandlet Set-PnPApplicationCustomizer.\n\n```powershell\nSet-PnPApplicationCustomizer -Title \"PortalFooter\" -ClientSideComponentId df889434-1b1c-4f5b-ada3-086d948e4270 -ClientSideComponentProperties \"{`\"linksListTitle`\":`\"PnP-PortalFooter-Links`\",`\"personalItemsStorageProperty`\":`\"PnP-CollabFooter-MyLinks`\",`\"copyright`\":`\"Ⓒ Copyright 2023`\",`\"support`\":`\"support@contoso.com`\"}\"\n```\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nThe shared links are retrieved from a list called `PnP-PortalFooter-Links`. The webpart will first look to see if the site is part of a hub site and get the data from the list from that hub site. If no hub site is available it falls back to the local site as the source. If you have not applied the starterkit.pnp package you can find the xml used to provision the list [here](../../provisioning/starterkit.xml)\n\nPersonalized links only works if a custom property called `PnP-CollabFooter-MyLinks` has been added to the user profile service. By default, this custom property is shared by both the portal and collaboration footer extensions to provide one list per user of customized links. This is string based property with maximum lenght. As there's no APIs to automate the property creation to the user profile service, this property will need to be manually created to enable the personalized links capability. Instructions to set up the custom property can be found [here](../../documentation/tenant-settings.md#create-a-custom-property-in-the-user-profile-service).\n\nBoth component property names can be [changed in the SPFx extension properties](#modifying-extension-properties). \n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-application-portal-footer | Waldek Mastykarz\nreact-application-portal-footer | Paolo Pialorsi\nreact-application-portal-footer | David Opdendries\nreact-application-portal-footer | Chandani Prajapati\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|January 2019|Initial release for SharePoint Starter Kit v2\n2.0|January 1, 2020|Initial release for SharePoint Starter Kit v2\n3.0|February 2023|v3 - Upgraded to SPFx 1.16.1\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to correct folder where solution exists\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n## Features\n\nKey features demostrated by this solution:\n\n* PnPjs usage in the solution\n* Dynamic creation of the list if it's missing\n* Work with data from user property\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-application-portal-footer\" />\n"
  },
  {
    "path": "source/react-application-portal-footer/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"portal-footer-application-customizer\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/extensions/portalFooter/PortalFooterApplicationCustomizer.js\",\n          \"manifest\": \"./src/extensions/portalFooter/PortalFooterApplicationCustomizer.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"PortalFooterApplicationCustomizerStrings\": \"lib/extensions/portalFooter/loc/{locale}.js\",\n    \"MyLinksStrings\": \"lib/extensions/portalFooter/components/myLinks/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-application-portal-footer\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-application-portal-footer/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Portal Footer\",\n    \"id\": \"4d7c1cea-0ef5-4143-88f6-43411d978b2f\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"websiteUrl\": \"\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-application-portal-footer description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-application-portal-footer description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Application Extension - Deployment of custom action.\",\n        \"description\": \"Deploys a custom action with ClientSideComponentId association\",\n        \"id\": \"5716e6ec-8ef5-4ce3-9064-02bd771988e8\",\n        \"version\": \"3.0.0.0\",\n        \"assets\": {\n          \"elementManifests\": [\n            \"elements.xml\",\n            \"clientsideinstance.xml\"\n          ]\n        }\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-application-portal-footer.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-application-portal-footer/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-application-portal-footer/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"serveConfigurations\": {\n    \"default\": {\n      \"pageUrl\": \"https://contoso.sharepoint.com\",\n      \"customActions\": {\n        \"df889434-1b1c-4f5b-ada3-086d948e4270\": {\n          \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n          \"properties\": {\n            \"linksListTitle\": \"PnP-PortalFooter-Links\",\n            \"personalItemsStorageProperty\": \"PnP-CollabFooter-MyLinks\",\n            \"copyright\": \"2019\",\n            \"support\" :\"help@contoso.com\"\n          }\n        }\n      }\n    },\n    \"portalFooter\": {\n      \"pageUrl\": \"https://contoso.sharepoint.com\",\n      \"customActions\": {\n        \"df889434-1b1c-4f5b-ada3-086d948e4270\": {\n          \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n          \"properties\": {\n            \"linksListTitle\": \"PnP-PortalFooter-Links\",\n            \"personalItemsStorageProperty\": \"PnP-CollabFooter-MyLinks\",\n            \"copyright\": \"2019\",\n            \"support\" :\"help@contoso.com\"\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-application-portal-footer/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-application-portal-footer/package.json",
    "content": "{\n  \"name\": \"react-application-portal-footer\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=0.10.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/decorators\": \"1.16.1\",\n    \"@microsoft/sp-application-base\": \"1.16.1\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-dialog\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/sp\": \"3.11.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@microsoft/sp-tslint-rules\": \"1.14.0\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/es6-promise\": \"0.0.33 \",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"1.15.2\",\n    \"ajv\": \"6.12.5\",\n    \"eslint\": \"8.7.0\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"tslint-microsoft-contrib\": \"5.0.0\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/sharepoint/assets/ClientSideInstance.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n</Elements>\n"
  },
  {
    "path": "source/react-application-portal-footer/sharepoint/assets/elements.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n    <CustomAction\n        Title=\"PortalFooter\"\n        Location=\"ClientSideExtension.ApplicationCustomizer\"\n        ClientSideComponentId=\"df889434-1b1c-4f5b-ada3-086d948e4270\"\n        ClientSideComponentProperties=\"{&quot;linksListTitle&quot;:&quot;PnP-PortalFooter-Links&quot;,&quot;personalItemsStorageProperty&quot;:&quot;PnP-CollabFooter-MyLinks&quot;,&quot;copyright&quot;:&quot;2019&quot;,&quot;support&quot;:&quot;help@contoso.com&quot;}\">\n    </CustomAction>\n</Elements>\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/IHubSiteData.ts",
    "content": "export interface IHubSiteDataResponse {\n    [\"odata.metadata\"]: string;\n    value: string;\n}\n\nexport interface IHubSiteData {\n    themeKey: string;\n    name: string;\n    url: string;\n    logoUrl: string;\n    usesMetadataNavigation: boolean;\n    navigation: {\n        Id: number;\n        Title: string;\n        Url: string;\n        IsDocLib: boolean;\n        IsExternal: boolean;\n        ParentId: number;\n        ListTemplateType: number;\n        Children: any[]\n    }[];\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/ILinkListItem.ts",
    "content": "export interface ILinkListItem {\n    PnPPortalLinkGroup: string;\n    Title: string;\n    PnPPortalLinkUrl: {\n        Description: string;\n        Url: string;\n    };\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/PortalFooterApplicationCustomizer.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-extension-manifest.schema.json\",\n\n  \"id\": \"df889434-1b1c-4f5b-ada3-086d948e4270\",\n  \"alias\": \"PortalFooterApplicationCustomizer\",\n  \"componentType\": \"Extension\",\n  \"extensionType\": \"ApplicationCustomizer\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/PortalFooterApplicationCustomizer.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { override } from '@microsoft/decorators';\nimport { Log } from '@microsoft/sp-core-library';\nimport {\n  BaseApplicationCustomizer, PlaceholderContent, PlaceholderName\n} from '@microsoft/sp-application-base';\n\nimport * as strings from 'PortalFooterApplicationCustomizerStrings';\n\nconst LOG_SOURCE: string = 'PortalFooterApplicationCustomizer';\n\nimport { IPortalFooterProps, PortalFooter } from './components/PortalFooter';\nimport { ILinkGroup } from './components/PortalFooter/ILinkGroup';\n\n// import additional controls/components\n\nimport { SPHttpClient, SPHttpClientResponse } from '@microsoft/sp-http';\nimport { IHubSiteData, IHubSiteDataResponse } from './IHubSiteData';\nimport { ILinkListItem } from './ILinkListItem';\n\nimport SPUserProfileService from '../../services/SPUserProfileService';\nimport MyLinksDialog from './components/myLinks/MyLinksDialog';\nimport IMyLink from './components/myLinks/IMyLink';\nimport { IPortalFooterEditResult } from './components/PortalFooter/IPortalFooterEditResult';\n\n/**\n * If your command set uses the ClientSideComponentProperties JSON input,\n * it will be deserialized into the BaseExtension.properties object.\n * You can define an interface to describe it.\n */\nexport interface IPortalFooterApplicationCustomizerProperties {\n  // the title of the list, in the Hub Site, holding the link items\n  linksListTitle: string;\n  // copyright message for the footer\n  copyright?: string;\n  // support text for the footer\n  support?: string;\n  // the UPS property to store the MyLinks items\n  personalItemsStorageProperty: string;\n}\n\n/** A Custom Action which can be run during execution of a Client Side Application */\nexport default class PortalFooterApplicationCustomizer\n  extends BaseApplicationCustomizer<IPortalFooterApplicationCustomizerProperties> {\n\n    private _bottomPlaceholder?: PlaceholderContent;\n    private _myLinks: IMyLink[];\n\n    private _handleDispose(): void {\n      console.log('[PortalFooterApplicationCustomizer._onDispose] Disposed custom bottom placeholder.');\n    }\n\n  @override\n  public async onInit(): Promise<void> {\n\n    // get the hub site URL\n    let hubSiteUrl: string = await this.getHubSiteUrl();\n\n    if (!hubSiteUrl) {\n      console.log('Current site is not part of an hub and the footer will fallback to local list of links.');\n      hubSiteUrl = this.context.pageContext.web.absoluteUrl;\n    }\n\n    Log.info(LOG_SOURCE, `Initialized ${strings.Title}`);\n\n    let linksListTitle: string = this.properties.linksListTitle;\n    let copyright: string = this.properties.copyright;\n    let support: string = this.properties.support;\n    let personalItemsStorageProperty: string = this.properties.personalItemsStorageProperty;\n    if (!linksListTitle || !copyright || !support || !personalItemsStorageProperty) {\n      console.log('Provide valid properties for PortalFooterApplicationCustomizer!');\n    }\n\n    // call render method for generating the needed html elements\n    return (await this._renderPlaceHolders());\n  }\n\n  private _editLinks = async (): Promise<IPortalFooterEditResult> => {\n\n    let result: IPortalFooterEditResult = {\n      editResult: null,\n      links: null,\n    };\n\n    const myLinksDialog: MyLinksDialog = new MyLinksDialog(this._myLinks);\n    await myLinksDialog.show();\n\n    // update the local list of links\n    let resultingLinks: IMyLink[] = myLinksDialog.links;\n\n    // Do not save if the dialog was cancelled\n    if (myLinksDialog.isSave) {\n      if (this._myLinks !== resultingLinks) {\n        this._myLinks = resultingLinks;\n\n        // save the personal links in the UPS, if there are any updates\n        let upsService: SPUserProfileService = new SPUserProfileService(this.context);\n        result.editResult = await upsService.setUserProfileProperty(this.properties.personalItemsStorageProperty,\n          'String',\n          JSON.stringify(this._myLinks));\n\n      }\n    }\n    result.links = await this.loadLinks();\n    return (result);\n  }\n\n  // retrieves the URL of the hub site for the current site\n  private async getHubSiteUrl(): Promise<string> {\n\n    let result: string = null;\n\n    try {\n      // get the hub site data via REST API\n      let response: SPHttpClientResponse = await this.context.spHttpClient\n        .get(`${this.context.pageContext.web.absoluteUrl}/_api/web/hubsitedata`,\n          SPHttpClient.configurations.v1);\n\n      // deserialize JSON response and, if any, get the URL of the hub site\n      const hubSiteDataResponse: IHubSiteDataResponse = await response.json();\n      if (hubSiteDataResponse) {\n        let hubSiteData: IHubSiteData = hubSiteDataResponse.value && JSON.parse(hubSiteDataResponse.value);\n        if (hubSiteData) {\n          result = hubSiteData.url;\n        }\n      }\n    } catch (error) {\n      console.log(error);\n    }\n\n    return (result);\n  }\n\n  // loads the groups of links from the hub site reference list\n  private async loadLinks(): Promise<ILinkGroup[]> {\n    const { spfi, SPFx } = await import(\n      /* webpackChunkName: 'pnp-sp' */\n      \"@pnp/sp/presets/all\");\n\n    // initialize PnP JS library to play with SPFx contenxt\n    const sp = spfi().using(SPFx(this.context));\n\n    // prepare the result variable\n    let result: ILinkGroup[] = [];\n\n    // get the links from the source list\n    let items: ILinkListItem[] = await sp.web\n      .lists.getByTitle(this.properties.linksListTitle)\n      .items.select(\"Title\", \"PnPPortalLinkGroup\", \"PnPPortalLinkUrl\").top(100)\n      .orderBy(\"PnPPortalLinkGroup\", true)\n      .orderBy(\"Title\", true)();\n\n    // console.log(\"ITEMS: >>\", items);\n\n    // map the list items to the results\n    items.map((v, i, a) => {\n      // in case we have a new group title\n      if (result.length === 0 || v.PnPPortalLinkGroup !== result[result.length - 1].title) {\n        // create the new group and add the current item\n        result.push({\n          title: v.PnPPortalLinkGroup,\n          links: [{\n            title: v.Title,\n            url: v.PnPPortalLinkUrl.Url,\n          }],\n        });\n      } else {\n        // or add the current item to the already existing group\n        result[result.length - 1].links.push({\n          title: v.Title,\n          url: v.PnPPortalLinkUrl.Url,\n        });\n      }\n    });\n\n    // get the list of personal items from the User Profile Service\n    let upsService: SPUserProfileService = new SPUserProfileService(this.context);\n    let myLinksJson: any = await upsService.getUserProfileProperty(this.properties.personalItemsStorageProperty);\n\n    // if we have personalizes links\n    if (myLinksJson != null) {\n      if (myLinksJson.length > 0) {\n        this._myLinks = JSON.parse(myLinksJson) as IMyLink[];\n\n        // add all of them to the \"My Links\" group\n        if (this._myLinks.length > 0) {\n          result.push({\n            title: strings.MyLinks,\n            links: this._myLinks,\n          });\n        }\n      }\n      else {\n        // if there are no personal items for my links, just provide an empty array that can be customized\n        this._myLinks = [];\n      }\n    }\n\n    return (result);\n  }\n\n  private async _renderPlaceHolders(): Promise<void> {\n\n    // check if the application customizer has already been rendered\n    if (!this._bottomPlaceholder) {\n      // create a DOM element in the bottom placeholder for the application customizer to render\n      this._bottomPlaceholder = this.context.placeholderProvider\n        .tryCreateContent(PlaceholderName.Bottom, { onDispose: this._handleDispose });\n    }\n\n    // if the top placeholder is not available, there is no place in the UI\n    // for the app customizer to render, so quit.\n    if (!this._bottomPlaceholder) {\n      return;\n    }\n\n    const links: ILinkGroup[] = await this.loadLinks();\n\n    const element: React.ReactElement<IPortalFooterProps> = React.createElement(\n      PortalFooter,\n      {\n        links: links,\n        copyright: this.properties.copyright,\n        support: this.properties.support,\n        onLinksEdit: this._editLinks,\n      }\n    );\n\n    // render the UI using a React component\n    ReactDom.render(element, this._bottomPlaceholder.domElement);\n  }\n\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/Links/ILinksProps.ts",
    "content": "import { ILinkGroup } from \"../PortalFooter\";\n\nexport interface ILinksProps {\n  links: ILinkGroup[];\n  loadingLinks: boolean;\n  visible: boolean;\n  onMyLinksEdit: () => Promise<void>;\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/Links/Links.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.links {\n  background-color: $ms-color-neutralLighter;\n  color: $ms-color-neutralPrimary;\n  transition: height 0.5s;\n  overflow: hidden;\n  position: relative;\n  height: 0;\n\n  .content {\n    padding: 25px;\n  }\n\n  &.visible {\n    height: auto;\n  }\n\n  &.hidden {\n    height: 0;\n  }\n\n  .linksGroupTitle {\n    color: inherit;\n    font-weight: bold;\n  }\n\n  ul {\n    list-style-type: none;\n    padding: 0;\n  }\n\n  li {\n    margin: 0.2em 0;\n  }\n\n  a {\n    color: inherit;\n    text-decoration: none;\n\n    &:hover {\n      color: $ms-color-neutralSecondary;\n    }\n  }\n\n  .editButton {\n    color: inherit;\n    position: absolute;\n    top: 0.5em;\n    right: 0.5em;\n    padding: 0.5em;\n    min-width: 0;\n  }\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/Links/Links.tsx",
    "content": "import * as React from 'react';\nimport styles from './Links.module.scss';\nimport * as strings from 'PortalFooterApplicationCustomizerStrings';\nimport { DefaultButton } from '@fluentui/react/lib/Button';\nimport { ILinksProps } from '.';\n\nexport class Links extends React.Component<ILinksProps, {}> {\n\n  private _handleEdit = async (): Promise<void> => {\n    return(await this.props.onMyLinksEdit());\n  }\n\n  public render(): React.ReactElement<ILinksProps> {\n    return (\n      <div className={`${styles.links} ${this.props.visible ? styles.visible : styles.hidden}`}>\n        <div className={styles.content}>\n          <div className=\"ms-Grid\">\n            <div className=\"ms-Grid-row\">\n              {this.props.links.map(g =>\n                <div className=\"ms-Grid-col ms-sm3\" key={g.title}>\n                  <div className={styles.linksGroupTitle}>{g.title}</div>\n                  <ul>\n                    {g.links.map(l => <li key={l.title}>\n                      <a href={l.url}>{l.title}</a>\n                    </li>)}\n                  </ul>\n                </div>\n              )}\n            </div>\n          </div>\n        </div>\n        <DefaultButton\n          title={strings.EditTitle}\n          className={styles.editButton}\n          onClick={this._handleEdit}\n        >{strings.Edit}</DefaultButton>\n      </div>\n    );\n  }\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/Links/index.ts",
    "content": "export * from './ILinksProps';\nexport * from './Links';\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/PortalFooter/ILinkGroup.ts",
    "content": "export interface ILinkGroup {\n  title: string;\n  links: {\n    title: string;\n    url: string;\n  }[];\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/PortalFooter/IPortalFooterEditResult.ts",
    "content": "import { ILinkGroup } from \".\";\n\nexport interface IPortalFooterEditResult {\n    editResult?: boolean;\n    links: ILinkGroup[];\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/PortalFooter/IPortalFooterProps.ts",
    "content": "import { ILinkGroup } from \".\";\nimport { IPortalFooterEditResult } from \"./IPortalFooterEditResult\";\n\nexport interface IPortalFooterProps {\n    links: ILinkGroup[];\n    copyright: string;\n    support: string;\n    onLinksEdit: () => Promise<IPortalFooterEditResult>;\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/PortalFooter/IPortalFooterState.ts",
    "content": "import { ILinkGroup } from \".\";\n\nexport interface IPortalFooterState {\n  // state variable to show the result of saving my links\n  myLinksSaved?: boolean;\n  // used to hold the expanded/collapsed state for menu\n  expanded: boolean;\n  // used to hold the link groups\n  links: ILinkGroup[];\n  // used to determine if we are loading the links\n  loadingLinks: boolean;\n  // used to manage the expand/collapse button icon\n  toggleButtonIconName: string;\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/PortalFooter/PortalFooter.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.portalFooter {\n\n  .main {\n    // inherit theme colors\n    background-color: $ms-color-themePrimary;\n    @include ms-fontColor-white;\n    padding-left: 10px;\n  }\n\n  .supportButton {\n    color: inherit;\n\n    &:hover {\n      background-color: $ms-color-themeDark;\n    }\n\n    &:hover i, i {\n      color: inherit;\n    }\n  }\n\n  .copyright {\n    color: inherit;\n    line-height: 30px;\n  }\n\n  .filler {\n    color: inherit;\n    line-height: 30px;\n  }\n\n  // put the toggle control on the right hand side\n  .toggleControl {\n    float: right;\n    width: 1em;\n    margin-right: 0.5em;\n\n    .toggleButton {\n      background-color: transparent;\n      border: 0;\n      color: inherit;\n      padding: 0;\n      min-width: 0;\n\n      div {\n        width: 1em;\n        height: 40px;\n        line-height: 40px;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/PortalFooter/PortalFooter.tsx",
    "content": "import * as React from 'react';\nimport { IPortalFooterProps, IPortalFooterState } from '.';\nimport styles from './PortalFooter.module.scss';\nimport { DefaultButton, ActionButton } from '@fluentui/react/lib/Button';\nimport { Label } from '@fluentui/react/lib/Label';\nimport { MessageBar, MessageBarType } from '@fluentui/react/lib/MessageBar';\nimport * as strings from 'PortalFooterApplicationCustomizerStrings';\nimport { Links } from '../Links';\nimport { IPortalFooterEditResult } from '../PortalFooter/IPortalFooterEditResult';\n\nexport class PortalFooter extends React.Component<IPortalFooterProps, IPortalFooterState> {\n  constructor(props: IPortalFooterProps) {\n    super(props);\n\n    this.state = {\n      expanded: false,\n      toggleButtonIconName: 'DoubleChevronUp',\n      loadingLinks: false,\n      links: props.links,\n    };\n  }\n\n  private _handleToggle = (): void => {\n    const wasExpanded: boolean = this.state.expanded;\n\n    this.setState({\n      expanded: !wasExpanded,\n      toggleButtonIconName: wasExpanded ? 'DoubleChevronUp' : 'DoubleChevronDown'\n    });\n  }\n\n  private _handleSupport = (): void => {\n    const supportUrl: string = `mailto:${this.props.support}`;\n    location.href = supportUrl;\n    console.log(supportUrl);\n  }\n\n  private _handleLinksEdit = async (): Promise<void> => {\n\n    let editResult: IPortalFooterEditResult = await this.props.onLinksEdit();\n    if (editResult != null) {\n      this.setState({\n        myLinksSaved: editResult.editResult,\n        links: editResult.links\n      });\n\n      // hide the message after 2 sec\n      window.setTimeout(() => {\n        this.setState({\n          myLinksSaved: null,\n        });\n      }, 2000);\n    }\n  }\n\n  public render(): React.ReactElement<IPortalFooterProps> {\n    return (\n      <div className={styles.portalFooter}>\n        {this.state.myLinksSaved != null ? (this.state.myLinksSaved ?\n          <MessageBar\n            messageBarType={MessageBarType.success}>{strings.MyLinksSaveSuccess}</MessageBar> :\n          <MessageBar\n            messageBarType={MessageBarType.error}>{strings.MyLinksSaveFailed}</MessageBar>) : null}\n        <Links links={this.state.links}\n          loadingLinks={this.state.loadingLinks}\n          visible={this.state.expanded}\n          onMyLinksEdit={this._handleLinksEdit} />\n        <div className={styles.main}>\n          <div className=\"ms-Grid\">\n            <div className=\"ms-Grid-row\">\n              <div className=\"ms-Grid-col ms-sm3\" onClick={this._handleToggle}>\n                <Label className={styles.copyright}>{this.props.copyright}</Label>\n              </div>\n              <div className=\"ms-Grid-col ms-sm2\">\n                <ActionButton\n                  iconProps={{ iconName: 'Headset' }}\n                  className={styles.supportButton}\n                  onClick={this._handleSupport}>\n                  {this.props.support}\n                </ActionButton>\n              </div>\n              <div className=\"ms-Grid-col ms-sm6\" onClick={this._handleToggle}>\n                <Label className={styles.filler}>&nbsp;</Label>\n              </div>\n              <div className=\"ms-Grid-col ms-sm1\" onClick={this._handleToggle}>\n                <div className={styles.toggleControl}>\n                  <DefaultButton\n                    iconProps={{ iconName: this.state.toggleButtonIconName }}\n                    title={this.state.expanded ? strings.ToggleButtonClose : strings.ToggleButtonOpen}\n                    className={styles.toggleButton}\n                    onClick={this._handleToggle}\n                  />\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/PortalFooter/index.ts",
    "content": "export * from './ILinkGroup';\nexport * from './IPortalFooterEditResult';\nexport * from './IPortalFooterProps';\nexport * from './IPortalFooterState';\nexport * from './PortalFooter';"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/IMyLink.ts",
    "content": "/**\n * Interface to define a single URL item for My Links\n */\nexport default interface IMyLink {\n    // the Title of the Link\n    title: string;\n    // the URL of theLink\n    url: string;\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/MyLinks.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.myLinksDialogRoot {\n  .myLinksDialogContent {\n      text-align: left;\n      vertical-align: top;\n\n      .editPanel {\n        margin-top: 10px;\n        margin-bottom: 10px;\n      }\n\n      .textField {\n        width: 250px;\n      }\n  }\n}"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/MyLinksDialog.tsx",
    "content": "import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\n\n// import supporting types\nimport IMyLink from './IMyLink';\nimport styles from './MyLinks.module.scss';\nimport * as strings from 'MyLinksStrings';\n\n// import additional controls/components\nimport { BaseDialog, IDialogConfiguration } from '@microsoft/sp-dialog';\nimport { DefaultButton } from '@fluentui/react/lib/Button';\nimport { TextField } from '@fluentui/react/lib/TextField';\nimport { CommandBar } from '@fluentui/react/lib/CommandBar';\nimport { DetailsList, DetailsListLayoutMode, Selection, SelectionMode, IColumn } from '@fluentui/react/lib/DetailsList';\nimport { DialogContent, DialogFooter } from '@fluentui/react/lib/Dialog';\n\n/**\n * Define the columns that will be used to render the list of links\n */\nconst _linksColumns: IColumn[] = [\n  {\n    key: 'TitleColumn',\n    name: strings.TitleColumn,\n    fieldName: 'title',\n    minWidth: 150,\n    maxWidth: 350,\n    isResizable: true,\n    ariaLabel: strings.TitleColumnAriaLabel\n  },\n  {\n    key: 'urlColumn',\n    name: strings.UrlColumn,\n    fieldName: 'url',\n    minWidth: 150,\n    maxWidth: 350,\n    isResizable: true,\n    ariaLabel: strings.UrlColumnAriaLabel\n  },\n];\n\n/**\n * Defines the initialization properties for the MyLinks dialog window\n */\ninterface IMyLinksDialogContentProps {\n  // the array of Links to render/manage\n  links: Array<IMyLink>;\n  // cancel button handler, to undo the changes\n  cancel: () => void;\n  // save button handler, to save the Links\n  save: (links: Array<IMyLink>) => void;\n}\n\n/**\n * Defines the state for the MyLinks dialog window\n */\ninterface IMyLinksDialogContentState {\n  // the Links to render/manage\n  links: Array<IMyLink>;\n  // currently selected item, if any\n  selectedLink?: IMyLink;\n  // defines whether to show the detail (add/edit) panel or not\n  showDetailPanel?: boolean;\n  // defines whether the dialog is adding a new item\n  addingNewItem?: boolean;\n  // title for the pending editing item\n  title?: string;\n  // url for the pending editing item\n  url?: string;\n}\n\n/**\n * Defines the main content of the MyLinks dialog\n */\nclass MyLinksDialogContent extends\n  React.Component<IMyLinksDialogContentProps, IMyLinksDialogContentState> {\n\n  // to handle item selection in the DetailsList of Links\n  private _selection: Selection;\n\n  constructor(props: IMyLinksDialogContentProps) {\n    super(props);\n\n    this._selection = new Selection({\n      onSelectionChanged: () => {\n        let selectedLink: IMyLink = this._selection.getSelectedCount() !== 0 ? this._selection.getSelection()[0] as IMyLink : null;\n        this.setState({ selectedLink: selectedLink });\n      }\n    });\n\n    this.state = {\n      links: this.props.links && this.props.links.length > 0 ? this.props.links : [],\n      showDetailPanel: false,\n    };\n  }\n\n  public componentDidMount(): void {\n    // fire the resize event to paint the content of the dialog\n    let resizeEvent = window.document.createEvent('UIEvents');\n    resizeEvent.initUIEvent('resize', true, false, window, 0);\n    window.dispatchEvent(resizeEvent);\n  }\n\n  /**\n   * Renders the dialog content using an Office UI Fabric grid\n   */\n  public render(): JSX.Element {\n    return (<div className={styles.myLinksDialogRoot}>\n      <DialogContent\n        title={strings.MyLinksDialogTitle}\n        subText={strings.MyLinksDialogDescription}\n        onDismiss={this.props.cancel}\n        showCloseButton={!this.state.showDetailPanel}>\n\n        <div className={styles.myLinksDialogContent}>\n          <div className=\"ms-Grid\">\n            {this.state.showDetailPanel ?\n              <div className=\"ms-Grid-row\">\n                <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                  <div className=\"ms-Grid\">\n                    <div className=\"ms-Grid-row\">\n                      <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                        <TextField\n                          label={strings.LinkTitleLabel}\n                          required={true}\n                          value={this.state.title}\n                          minLength={150}\n                          className={styles.textField}\n                          onChange={this._onChangedTitle}\n                        />\n                      </div>\n                    </div>\n                    <div className=\"ms-Grid-row\">\n                      <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                        <TextField\n                          label={strings.LinkUrlLabel}\n                          required={true}\n                          value={this.state.url}\n                          minLength={150}\n                          className={styles.textField}\n                          onChange={this._onChangedUrl}\n                          onGetErrorMessage={this._getErrorMessageUrl}\n                        />\n                      </div>\n                    </div>\n                    <div className={`ms-Grid-row ${styles.editPanel}`}>\n                      <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                        <DefaultButton text={strings.DialogCancelButton}\n                          title={strings.DialogCancelButton} onClick={this._cancelEdit} />\n                        <DefaultButton primary={true}\n                          text={this.state.addingNewItem ? strings.DialogAddButton : strings.DialogUpdateButton}\n                          title={this.state.addingNewItem ? strings.DialogAddButton : strings.DialogUpdateButton}\n                          onClick={this._saveEdit} />\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n              : null}\n            {!this.state.showDetailPanel ?\n              <div className=\"ms-Grid-row\">\n                <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                  <CommandBar items={[\n                    {\n                      key: 'addRow',\n                      name: strings.AddLinkCommand,\n                      icon: 'Add',\n                      onClick: this.addLink,\n                    },\n                    {\n                      key: 'editRow',\n                      name: strings.EditLinkCommand,\n                      icon: 'Edit',\n                      onClick: this.editLink,\n                      disabled: (this.state.selectedLink == null),\n                    },\n                    {\n                      key: 'deleteRow',\n                      name: strings.DeleteLinkCommand,\n                      icon: 'Delete',\n                      onClick: this.deleteLink,\n                      disabled: (this.state.selectedLink == null),\n                    },\n                  ]} />\n                </div>\n              </div>\n              : null}\n            {!this.state.showDetailPanel ?\n              <div className=\"ms-Grid-row\">\n                <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                  <DetailsList\n                    items={this.state.links}\n                    columns={_linksColumns}\n                    layoutMode={DetailsListLayoutMode.justified}\n                    selection={this._selection}\n                    selectionMode={SelectionMode.single}\n                    selectionPreservedOnEmptyClick={true}\n                    ariaLabelForSelectionColumn={strings.SelectionColumnAriaLabel}\n                    ariaLabelForSelectAllCheckbox={strings.SelectionAllColumnAriaLabel}\n                  />\n                </div>\n              </div>\n              : null}\n          </div>\n        </div>\n        {!this.state.showDetailPanel ?\n          <DialogFooter>\n            <DefaultButton text={strings.DialogCancelButton}\n              title={strings.DialogCancelButton} onClick={this.props.cancel} />\n            <DefaultButton text={strings.DialogSaveButton} primary={true}\n              title={strings.DialogSaveButton} onClick={() => { this.props.save(this.state.links); }} />\n          </DialogFooter>\n          : null}\n      </DialogContent>\n    </div>);\n  }\n\n  private _cancelEdit = (): void => {\n    // disable the detail panel\n    this.setState({\n      showDetailPanel: false,\n      title: \"\",\n      url: \"\",\n    });\n  }\n\n  private _saveEdit = (): void => {\n\n    if (!this.state.addingNewItem) {\n\n      let updatedLink: IMyLink = {\n        title: this.state.title,\n        url: this.state.url,\n      };\n\n      // update the selected item\n      this.state.links[this.state.links.indexOf(this.state.selectedLink)] = updatedLink;\n\n      // refresh the array of Links\n      let updatedLinks: IMyLink[] = this.state.links.concat([]);\n\n      // update the list of links and disable the detail panel\n      this.setState({\n        showDetailPanel: false,\n        links: updatedLinks\n      });\n\n    } else {\n\n      let newLink: IMyLink = {\n        title: this.state.title,\n        url: this.state.url,\n      };\n\n      // if we have a valid new link\n      if (newLink != null &&\n        newLink.title != null && newLink.title.length > 0 &&\n        newLink.url != null && newLink.url.length > 0) {\n\n        // add the new item to the array of Links\n        let updatedLinks: IMyLink[] = this.state.links.concat([newLink]);\n\n        // update the list of links and disable the detail panel\n        this.setState({\n          showDetailPanel: false,\n          links: updatedLinks\n        });\n      }\n    }\n  }\n\n  private _onChangedTitle = (event: React.FormEvent<HTMLElement>, newValue?: string) => {\n    this.setState({\n      title: newValue,\n    });\n  }\n\n  private _onChangedUrl = (event: React.FormEvent<HTMLElement>, newValue?: string) => {\n    this.setState({\n      url: newValue,\n    });\n  }\n\n  private _getErrorMessageUrl = (value: string): string => {\n    // validate the URL with a specific Regular Expression\n    const regEx: RegExp = /(https)?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&\\/\\/=]*)/;\n    return (value == null || value.length === 0 || regEx.test(value) ? \"\" : strings.InvalidUrlError);\n  }\n\n  private addLink = (): void => {\n    if (this.state.selectedLink != null &&\n      this.state.links != null &&\n      this.state.links.length > 0) {\n      this._selection.toggleIndexSelected(this.state.links.indexOf(this.state.selectedLink));\n    }\n\n    // enable the detail panel\n    this.setState({\n      showDetailPanel: true,\n      addingNewItem: true,\n      title: \"\",\n      url: \"\",\n      selectedLink: null\n    });\n  }\n\n  private editLink = (): void => {\n    // enable the detail panel\n    this.setState({\n      showDetailPanel: true,\n      addingNewItem: false,\n      title: this.state.selectedLink.title,\n      url: this.state.selectedLink.url\n    });\n  }\n\n  private deleteLink = (): void => {\n    // delete the selected link\n    this.state.links.splice(this.state.links.indexOf(this.state.selectedLink), 1);\n\n    // refresh the array of Links\n    let updatedLinks: IMyLink[] = this.state.links.concat([]);\n\n    // refresh the DetailsList view\n    this.setState({\n      links: updatedLinks\n    });\n  }\n}\n\n/**\n * Dialog window to show the list of links\n */\nexport default class MyLinksDialog extends BaseDialog {\n\n  // to keep track of the initial links in case user will cancel\n  private initialLinks: IMyLink[];\n\n  /**\n   * Constructor for the dialog window\n   */\n  constructor(public links: Array<IMyLink>, public isSave?: boolean) {\n    // Blocking or else click outside causes error in 1.7\n    super({ isBlocking: true });\n\n    // clone the initial list of links we've got\n    this.initialLinks = (this.links != null) ? this.links.concat([]) : [];\n  }\n\n  public render(): void {\n    ReactDOM.render(<MyLinksDialogContent\n      links={this.links}\n      cancel={this._cancel}\n      save={this._save}\n    />,\n      this.domElement);\n  }\n\n  public getConfig(): IDialogConfiguration {\n    return {\n      isBlocking: true\n    };\n  }\n\n  private _cancel = (): void => {\n    this.isSave = false;\n    this.links = this.initialLinks;\n    // Fix for all browsers regarding SP Dialog not being to open twice\n    ReactDOM.unmountComponentAtNode(this.domElement);\n    this.close();\n  }\n\n  private _save = (links: Array<IMyLink>): void => {\n    this.isSave = true;\n    // Fix for all browsers regarding SP Dialog not being to open twice\n    ReactDOM.unmountComponentAtNode(this.domElement);\n    this.links = links;\n    this.close();\n  }\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Speichern\",\n    \"DialogCancelButton\": \"Abbrechen\",\n    \"DialogAddButton\": \"Hinzufügen\",\n    \"DialogUpdateButton\": \"Aktualisieren\",\n\n    \"MyLinksDialogTitle\": \"Meine Links\",\n    \"MyLinksDialogDescription\": \"Nutzen Sie diesen Dialog um ihre Links zu verwalten\",\n    \"SingleLinkDialogTitle\": \"Link hinzufügen/bearbeiten\",\n    \"SingleLinkDialogDescription\": \"Nutzen Sie diesen Dialog um das Link (hinzufügen/bearbeiten) zu verwalten\",\n    \"ConfirmDeleteLink\": \"Sind Sie sicher, das Sie diesen Link entfernen möchten?\",\n\n    \"LinkTitleLabel\": \"Titel\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"The bereitgestellt URL ist ungültig\",\n\n    \"TitleColumn\": \"Titel\",\n    \"TitleColumnAriaLabel\": \"Titel der URL\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"Hyperlink der URL\",\n    \"SelectionColumnAriaLabel\": \"Auswahl umschalten\",\n    \"SelectionAllColumnAriaLabel\": \"Auswahl für alle Items umschalten\",\n    \n    \"AddLinkCommand\": \"Hinzufügen\",\n    \"EditLinkCommand\": \"Ändern\",\n    \"DeleteLinkCommand\": \"Entfernen\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Save\",\n    \"DialogCancelButton\": \"Cancel\",\n    \"DialogAddButton\": \"Add\",\n    \"DialogUpdateButton\": \"Update\",\n\n    \"MyLinksDialogTitle\": \"My Links\",\n    \"MyLinksDialogDescription\": \"Use this dialog to manage your Links\",\n    \"SingleLinkDialogTitle\": \"Add/Edit Link\",\n    \"SingleLinkDialogDescription\": \"Use this dialog to manage (add/edit) a link\",\n    \"ConfirmDeleteLink\": \"Do you really want to delete the selected link?\",\n\n    \"LinkTitleLabel\": \"Title\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"The provided URL is not valid\",\n\n    \"TitleColumn\": \"Title\",\n    \"TitleColumnAriaLabel\": \"Title of the URL\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"Hyperlink of the URL\",\n    \"SelectionColumnAriaLabel\": \"Toggle selection\",\n    \"SelectionAllColumnAriaLabel\": \"Toggle selection for all items\",\n    \n    \"AddLinkCommand\": \"Add\",\n    \"EditLinkCommand\": \"Edit\",\n    \"DeleteLinkCommand\": \"Delete\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Guardar\",\n    \"DialogCancelButton\": \"Cancelar\",\n    \"DialogAddButton\": \"Agregar\",\n    \"DialogUpdateButton\": \"Actualizar\",\n\n    \"MyLinksDialogTitle\": \"Mis Enlaces\",\n    \"MyLinksDialogDescription\": \"Utilice esta ventana de dialogo para administrar sus enlaces\",\n    \"SingleLinkDialogTitle\": \"Agregar/Editar Enlace\",\n    \"SingleLinkDialogDescription\": \"Utilice esta ventana de dialogo para adminsitrar (agregar/editar) un enlace\",\n    \"ConfirmDeleteLink\": \"¿Realmente quiere eliminar el enlace seleccionado?\",\n\n    \"LinkTitleLabel\": \"Título\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"La direccion URL capturada no es valida\",\n\n    \"TitleColumn\": \"Título\",\n    \"TitleColumnAriaLabel\": \"Título de la dirección URL\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"Hypervinculo de la dirección URL\",\n    \"SelectionColumnAriaLabel\": \"Seleccion Toggle\",\n    \"SelectionAllColumnAriaLabel\": \"Seleccion Toggle para todos los elementos\",\n    \n    \"AddLinkCommand\": \"Agregar\",\n    \"EditLinkCommand\": \"Editar\",\n    \"DeleteLinkCommand\": \"Eliminar\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Sauvegarder\",\n    \"DialogCancelButton\": \"Annuler\",\n    \"DialogAddButton\": \"Ajouter\",\n    \"DialogUpdateButton\": \"Mettre à jour\",\n\n    \"MyLinksDialogTitle\": \"Mes Liens\",\n    \"MyLinksDialogDescription\": \"Utilisez cette boîte de dialogue pour gérer vos liens\",\n    \"SingleLinkDialogTitle\": \"Ajouter/Modifier lien\",\n    \"SingleLinkDialogDescription\": \"Utiliser cette boîte de dialogue pour gérer (ajouter / modifier) un lien\",\n    \"ConfirmDeleteLink\": \"Voulez-vous vraiment supprimer le lien sélectionné?\",\n\n    \"LinkTitleLabel\": \"Titre\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"L'URL fournie n'est pas valide\",\n\n    \"TitleColumn\": \"Titre\",\n    \"TitleColumnAriaLabel\": \"Titre de l'URL\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"Hyperlien de l'URL\",\n    \"SelectionColumnAriaLabel\": \"Basculer la sélection\",\n    \"SelectionAllColumnAriaLabel\": \"Basculer la sélection pour tous les objets\",\n    \n    \"AddLinkCommand\": \"Ajouter\",\n    \"EditLinkCommand\": \"Modifier\",\n    \"DeleteLinkCommand\": \"Supprimer\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/loc/mystrings.d.ts",
    "content": "declare interface IMyLinksStrings {\n\n  // generic labels for dialogs\n  DialogSaveButton: string;\n  DialogCancelButton: string;\n  DialogAddButton: string;\n  DialogUpdateButton: string;\n\n  // labels for the dialog content\n  MyLinksDialogTitle: string;\n  MyLinksDialogDescription: string;\n  SingleLinkDialogTitle: string;\n  SingleLinkDialogDescription: string;\n  ConfirmDeleteLink: string;\n\n  // labels for the SingleLink editor dialog\n  LinkTitleLabel: string;\n  LinkUrlLabel: string;\n  InvalidUrlError: string;\n\n  // labels for DetailList of URLs\n  TitleColumn: string;\n  TitleColumnAriaLabel: string;\n  UrlColumn: string;\n  UrlColumnAriaLabel: string;\n  SelectionColumnAriaLabel: string;\n  SelectionAllColumnAriaLabel: string;\n\n  // labels for the CommandBar\n  AddLinkCommand: string;\n  EditLinkCommand: string;\n  DeleteLinkCommand: string;\n}\n\ndeclare module 'MyLinksStrings' {\n  const strings: IMyLinksStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Lagre\",\n    \"DialogCancelButton\": \"Avbryt\",\n    \"DialogAddButton\": \"Legg til\",\n    \"DialogUpdateButton\": \"Oppdater\",\n\n    \"MyLinksDialogTitle\": \"Mine lenker\",\n    \"MyLinksDialogDescription\": \"Bruk denne dialogen for å håndtere dine lenker\",\n    \"SingleLinkDialogTitle\": \"Legg til/redigere lenke\",\n    \"SingleLinkDialogDescription\": \"Bruk denne dialogen for å håndtere (legg til/rediger) en lenke\",\n    \"ConfirmDeleteLink\": \"Vil du virkelig slette den valgte lenken?\",\n\n    \"LinkTitleLabel\": \"Tittel\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"Den angitte URL-en er ugyldig\",\n\n    \"TitleColumn\": \"Tittel\",\n    \"TitleColumnAriaLabel\": \"Tittel på URL-en\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"URL-ens hyperlenke\",\n    \"SelectionColumnAriaLabel\": \"Endre valg\",\n    \"SelectionAllColumnAriaLabel\": \"Endre valg for alle objekt\",\n\n    \"AddLinkCommand\": \"Legg til\",\n    \"EditLinkCommand\": \"Rediger\",\n    \"DeleteLinkCommand\": \"Slett\"\n  }\n});\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"DialogSaveButton\": \"Opslaan\",\n      \"DialogCancelButton\": \"Annuleren\",\n      \"DialogAddButton\": \"Toevoegen\",\n      \"DialogUpdateButton\": \"Bijwerken\",\n  \n      \"MyLinksDialogTitle\": \"Mijn Links\",\n      \"MyLinksDialogDescription\": \"Gebruik dit dialoogvenster om je links te beheren\",\n      \"SingleLinkDialogTitle\": \"Toevoegen/Bewerken Link\",\n      \"SingleLinkDialogDescription\": \"Gebruik dit dialoogvenster voor het beheren (toevoegen/bewerken) van een link\",\n      \"ConfirmDeleteLink\": \"Weet je zeker dat je de geselecteerde link wil verwijderen?\",\n  \n      \"LinkTitleLabel\": \"Titel\",\n      \"LinkUrlLabel\": \"URL\",\n      \"InvalidUrlError\": \"De opgegeven URL is niet geldig\",\n  \n      \"TitleColumn\": \"Titel\",\n      \"TitleColumnAriaLabel\": \"Titel van de URL\",\n      \"UrlColumn\": \"URL\",\n      \"UrlColumnAriaLabel\": \"Hyperlink van de URL\",\n      \"SelectionColumnAriaLabel\": \"Selectie omzetten\",\n      \"SelectionAllColumnAriaLabel\": \"Selectie omzetten voor alle items\",\n      \n      \"AddLinkCommand\": \"Toevoegen\",\n      \"EditLinkCommand\": \"Bewerken\",\n      \"DeleteLinkCommand\": \"Verwijderen\"\n      }\n  });\n  "
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Spara\",\n    \"DialogCancelButton\": \"Avbryt\",\n    \"DialogAddButton\": \"Lägg till\",\n    \"DialogUpdateButton\": \"Uppdatera\",\n\n    \"MyLinksDialogTitle\": \"Mina Länkar\",\n    \"MyLinksDialogDescription\": \"Använd den här dialogrutan för att hantera dina länkar\",\n    \"SingleLinkDialogTitle\": \"Lägg till/Redigera Länk\",\n    \"SingleLinkDialogDescription\": \"Använd den här dialogrutan för att hantera (lägg till/redigera) en länk\",\n    \"ConfirmDeleteLink\": \"Vill du verkligen ta bort den valda länken?\",\n\n    \"LinkTitleLabel\": \"Titel\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"Den angivna URLen är inte giltig\",\n\n    \"TitleColumn\": \"Titel\",\n    \"TitleColumnAriaLabel\": \"Titel på URLen\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"URLens hyperlänk\",\n    \"SelectionColumnAriaLabel\": \"Växla val\",\n    \"SelectionAllColumnAriaLabel\": \"Växla val för alla objekt\",\n    \n    \"AddLinkCommand\": \"Lägg till\",\n    \"EditLinkCommand\": \"Redigera\",\n    \"DeleteLinkCommand\": \"Radera\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/components/myLinks/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"DialogSaveButton\": \"Kaydet\",\n    \"DialogCancelButton\": \"İptal\",\n    \"DialogAddButton\": \"Ekle\",\n    \"DialogUpdateButton\": \"Güncelle\",\n\n    \"MyLinksDialogTitle\": \"Bağlantılarım\",\n    \"MyLinksDialogDescription\": \"Bağlantılarınızı yönetmek için bu iletişim kutusunu kullanın\",\n    \"SingleLinkDialogTitle\": \"Bağlantı Ekle / Düzenle\",\n    \"SingleLinkDialogDescription\": \"Bir bağlantıyı yönetmek için (eklemek / düzenlemek) bu iletişim kutusunu kullanın\",\n    \"ConfirmDeleteLink\": \"Seçili bağlantıyı gerçekten silmek istiyor musunuz?\",\n\n    \"LinkTitleLabel\": \"Başlık\",\n    \"LinkUrlLabel\": \"URL\",\n    \"InvalidUrlError\": \"Sağlanan URL geçerli değil\",\n\n    \"TitleColumn\": \"Başlık\",\n    \"TitleColumnAriaLabel\": \"URL’nin Başlığı\",\n    \"UrlColumn\": \"URL\",\n    \"UrlColumnAriaLabel\": \"URL’nin köprüsü\",\n    \"SelectionColumnAriaLabel\": \"Seçimi değiştir\",\n    \"SelectionAllColumnAriaLabel\": \"Tüm öğeler için seçimi değiştir\",\n    \n    \"AddLinkCommand\": \"Ekle\",\n    \"EditLinkCommand\": \"Düzenle\",\n    \"DeleteLinkCommand\": \"Sil\"\n    }\n});\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/loc/de-de.js",
    "content": "define([], function () {\n  return {\n    \"Title\": \"PortalFooterApplicationCustomizer\",\n    \"MyLinks\": \"Meine Verknüpfungen\",\n    \"ToggleButtonOpen\": \"Öffnen\",\n    \"ToggleButtonClose\": \"Schließen\",\n    \"Edit\": \"Bearbeiten\",\n    \"EditTitle\": \"Fußzeilenverknüpfungen auswählen\",\n    \"MyLinksSaveSuccess\": \"'Meine Verknüpfungen' wurden erfolgreich gespeichert!\",\n    \"MyLinksSaveFailed\": \"Fehler beim Speichern von 'Meine Verknüpfungen'!\"\n  }\n});"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/loc/en-us.js",
    "content": "define([], function () {\n  return {\n    \"Title\": \"PortalFooterApplicationCustomizer\",\n    \"MyLinks\": \"My Links\",\n    \"ToggleButtonOpen\": \"Open\",\n    \"ToggleButtonClose\": \"Close\",\n    \"Edit\": \"Edit\",\n    \"EditTitle\": \"Select footer links\",\n    \"MyLinksSaveSuccess\": \"My links successfully saved!\",\n    \"MyLinksSaveFailed\": \"Failed to save my links!\"\n  }\n});"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/loc/es-es.js",
    "content": "define([], function () {\n  return {\n    \"Title\": \"PortalFooterApplicationCustomizer\",\n    \"MyLinks\": \"Mis Enlaces\",\n    \"ToggleButtonOpen\": \"Abrir\",\n    \"ToggleButtonClose\": \"Cerrar\",\n    \"Edit\": \"Editar\",\n    \"EditTitle\": \"Seleccione los enlaces del pie de pagina\",\n    \"MyLinksSaveSuccess\": \"Mis enlaces salvados satiosfactoriamente!\",\n    \"MyLinksSaveFailed\": \"Fallo al salvar mis enlaces!\"\n  }\n});\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/loc/fr-fr.js",
    "content": "define([], function () {\n  return {\n    \"Title\": \"PortalFooterApplicationCustomizer\",\n    \"MyLinks\": \"Mes liens\",\n    \"ToggleButtonOpen\": \"Ouvrir\",\n    \"ToggleButtonClose\": \"Fermer\",\n    \"Edit\": \"Editer\",\n    \"EditTitle\": \"Sélectionner les liens de pied de page\",\n    \"MyLinksSaveSuccess\": \"Mes liens ont été enregistrés avec succès!\",\n    \"MyLinksSaveFailed\": \"Échec de l'enregistrement de mes liens!\"\n  }\n});"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/loc/myStrings.d.ts",
    "content": "declare interface IPortalFooterApplicationCustomizerStrings {\n  Title: string;\n  MyLinks: string;\n  ToggleButtonOpen: string;\n  ToggleButtonClose: string;\n  Edit: string;\n  EditTitle: string;\n  MyLinksSaveSuccess: string;\n  MyLinksSaveFailed: string;\n}\n\ndeclare module 'PortalFooterApplicationCustomizerStrings' {\n  const strings: IPortalFooterApplicationCustomizerStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/loc/nb-no.js",
    "content": "define([], function () {\n  return {\n    \"Title\": \"PortalFooterApplicationCustomizer\",\n    \"MyLinks\": \"Mine lenker\",\n    \"ToggleButtonOpen\": \"Åpne\",\n    \"ToggleButtonClose\": \"Lukke\",\n    \"Edit\": \"Rediger\",\n    \"EditTitle\": \"Velg lenker\",\n    \"MyLinksSaveSuccess\": \"Mine lenker har blitt lagret!\",\n    \"MyLinksSaveFailed\": \"Klarte ikke å lagre mine lenker!\"\n  }\n});\n"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/loc/nl-nl.js",
    "content": "define([], function () {\n    return {\n      \"Title\": \"PortalFooterApplicationCustomizer\",\n      \"MyLinks\": \"Mijn links\",\n      \"ToggleButtonOpen\": \"Open\",\n      \"ToggleButtonClose\": \"Sluit\",\n      \"Edit\": \"Bewerk\",\n      \"EditTitle\": \"Selecteer footer links\",\n      \"MyLinksSaveSuccess\": \"Mijn links succesvol opgeslagen!\",\n      \"MyLinksSaveFailed\": \"Het opslaan van mijn links is mislukt!\"\n    }\n  });"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/loc/sv-se.js",
    "content": "define([], function () {\n  return {\n    \"Title\": \"PortalFooterApplicationCustomizer\",\n    \"MyLinks\": \"Mina Länkar\",\n    \"ToggleButtonOpen\": \"Öppna\",\n    \"ToggleButtonClose\": \"Stäng\",\n    \"Edit\": \"Redigera\",\n    \"EditTitle\": \"Välj sidfotens länkar\",\n    \"MyLinksSaveSuccess\": \"Mina länkar har sparats!\",\n    \"MyLinksSaveFailed\": \"Misslyckades med att spara mina länkar!\"\n  }\n});"
  },
  {
    "path": "source/react-application-portal-footer/src/extensions/portalFooter/loc/tr-tr.js",
    "content": "define([], function () {\n  return {\n    \"Title\": \"PortalFooterApplicationCustomizer\",\n    \"MyLinks\": \"Bağlantılarım\",\n    \"ToggleButtonOpen\": \"Açık\",\n    \"ToggleButtonClose\": \"Kapalı\",\n    \"Edit\": \"Düzenle\",\n    \"EditTitle\": \"Sayfa altı bağlantılarını seçin\",\n    \"MyLinksSaveSuccess\": \"Bağlantılarım başarıyla kaydedildi!\",\n    \"MyLinksSaveFailed\": \"Bağlantılarım kaydedilemedi!\"\n  }\n});"
  },
  {
    "path": "source/react-application-portal-footer/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-application-portal-footer/src/services/SPUserProfileService.ts",
    "content": "/**\n * DISCLAIMER\n *\n * As there is not yet an OData end-point for managed metadata, this service makes use of the ProcessQuery end-points.\n * The service will get updated once the APIs are in place for managing managed metadata.\n */\n\nimport { IWebPartContext} from '@microsoft/sp-webpart-base';\nimport { ExtensionContext } from '@microsoft/sp-extension-base';\nimport { Environment, EnvironmentType } from '@microsoft/sp-core-library';\nimport { SPHttpClient, SPHttpClientResponse, ISPHttpClientOptions } from '@microsoft/sp-http';\nimport { IPersonProperties, ISetPropertyResponse } from './SPUserProfileTypes';\n\nexport default class SPUserProfileService {\n\n  // private member to hold the URL of the /_vti_bin/client.svc/ProcessQuery endpoint\n  private clientServiceUrl: string;\n\n  // private member to hold the URL of the /_api/contextinfo endpoint\n  private contextInfoUrl: string;\n\n  // private member to hold the FormDigest for SPO\n  private formDigest: string;\n\n  /**\n   * Main constructor for the Taxonomy Service\n   */\n  constructor(private context: IWebPartContext | ExtensionContext) {\n    this.clientServiceUrl = this.context.pageContext.web.absoluteUrl + '/_vti_bin/client.svc/ProcessQuery';\n    this.contextInfoUrl = this.context.pageContext.web.absoluteUrl + '/_api/contextinfo';\n  }\n\n  /**\n   * @function\n   * Retrieves a new value for the Form Digest for SPO\n   */\n  private async getFormDigest(): Promise<string> {\n\n    let httpPostOptions: ISPHttpClientOptions = {\n      headers: {\n      \"accept\": \"application/json\",\n      \"content-type\": \"application/json\"\n      }\n    };\n    let contextInfoResponse: SPHttpClientResponse =\n      await this.context.spHttpClient.post(this.contextInfoUrl,\n        SPHttpClient.configurations.v1, httpPostOptions);\n    let contextInfoJsonResponse: any = await contextInfoResponse.json();\n    const formDigest: string = contextInfoJsonResponse.FormDigestValue;\n\n    return(formDigest);\n  }\n\n  /**\n   * @function\n   * Retrieves the value of a User Profile property for the current user\n   */\n  public async getUserProfileProperty(propertyName: string): Promise<any> {\n\n    // if we are in a real SharePoint environment\n    if (Environment.type === EnvironmentType.SharePoint ||\n      Environment.type === EnvironmentType.ClassicSharePoint) {\n\n      this.formDigest = await this.getFormDigest();\n\n      // build the Client Service Request\n      let data: string = `<Request AddExpandoFieldTypeSuffix=\"true\"\n        SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\"\n        ApplicationName=\".NET Library\"\n        xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\">\n            <Actions>\n                <ObjectPath Id=\"2\" ObjectPathId=\"1\" />\n                <ObjectPath Id=\"4\" ObjectPathId=\"3\" />\n                <Query Id=\"5\" ObjectPathId=\"3\">\n                    <Query SelectAllProperties=\"false\">\n                        <Properties>\n                            <Property Name=\"AccountName\" ScalarProperty=\"true\" />\n                            <Property Name=\"UserProfileProperties\" ScalarProperty=\"true\" />\n                        </Properties>\n                    </Query>\n                </Query>\n            </Actions>\n            <ObjectPaths>\n                <Constructor Id=\"1\" TypeId=\"{cf560d69-0fdb-4489-a216-b6b47adf8ef8}\" />\n                <Method Id=\"3\" ParentId=\"1\" Name=\"GetMyProperties\" />\n            </ObjectPaths>\n        </Request>`;\n\n      let httpPostOptions: ISPHttpClientOptions = {\n        headers: {\n          'accept': 'application/json',\n          'content-type': 'text/xml',\n          \"X-RequestDigest\": this.formDigest\n        },\n        body: data\n      };\n\n      let serviceResponse: SPHttpClientResponse =\n        await this.context.spHttpClient.post(this.clientServiceUrl,\n            SPHttpClient.configurations.v1, httpPostOptions);\n      let serviceJSONResponse: Array<any> = await serviceResponse.json();\n\n      // extract the object of type SP.UserProfiles.PersonProperties from the array\n      let personPropertiesCollection: IPersonProperties[] = serviceJSONResponse.filter(\n        (child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === \"SP.UserProfiles.PersonProperties\")\n      );\n\n      // and if any, process the TermSet objects in it\n      if (personPropertiesCollection != null && personPropertiesCollection.length > 0) {\n        let personProperties: IPersonProperties = personPropertiesCollection[0];\n\n        // return the requested User Profile property\n        return(personProperties.UserProfileProperties[propertyName]);\n      }\n    }\n\n    // default empty item in case of any missing data\n    return (new Promise<any>((resolve, reject) => {\n      resolve(null);\n    }));\n  }\n\n  /**\n   * @function\n   * Retrieves the value of a User Profile property for the current user\n   */\n  public async setUserProfileProperty(propertyName: string, propertyType: string, value: any): Promise<boolean> {\n\n    // if we are in a real SharePoint environment\n    if (Environment.type === EnvironmentType.SharePoint ||\n      Environment.type === EnvironmentType.ClassicSharePoint) {\n\n      this.formDigest = await this.getFormDigest();\n\n      // make the request based on the current user's name\n      const currentUserName: string = `i:0#.f|membership|${this.context.pageContext.user.loginName}`;\n\n      // build the Client Service Request\n      let data: string = `<Request AddExpandoFieldTypeSuffix=\"true\"\n        SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\"\n        ApplicationName=\".NET Library\"\n        xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\">\n          <Actions>\n            <Method Name=\"SetSingleValueProfileProperty\" Id=\"7\" ObjectPathId=\"1\">\n              <Parameters>\n                <Parameter Type=\"String\">${currentUserName}</Parameter>\n                <Parameter Type=\"String\">${propertyName}</Parameter>\n                <Parameter Type=\"${propertyType}\">${value}</Parameter>\n              </Parameters>\n            </Method>\n          </Actions>\n          <ObjectPaths>\n            <Constructor Id=\"1\" TypeId=\"{cf560d69-0fdb-4489-a216-b6b47adf8ef8}\" />\n          </ObjectPaths>\n        </Request>`;\n\n      let httpPostOptions: ISPHttpClientOptions = {\n        headers: {\n          'accept': 'application/json',\n          'content-type': 'text/xml',\n          \"X-RequestDigest\": this.formDigest\n        },\n        body: data\n      };\n\n      let serviceResponse: SPHttpClientResponse =\n        await this.context.spHttpClient.post(this.clientServiceUrl,\n            SPHttpClient.configurations.v1, httpPostOptions);\n      let serviceJSONResponse: Array<any> = await serviceResponse.json();\n\n      // get the response, if any\n      if (serviceJSONResponse != null && serviceJSONResponse.length > 0) {\n        let response: ISetPropertyResponse = serviceJSONResponse[0];\n\n        // return the requested User Profile property\n        return(response.ErrorInfo === null);\n      }\n    }\n\n    // default to false in case of any missing data\n    return (new Promise<boolean>((resolve, reject) => {\n      resolve(false);\n    }));\n  }\n}\n"
  },
  {
    "path": "source/react-application-portal-footer/src/services/SPUserProfileTypes.ts",
    "content": "/**\n * Defines SP.UserProfiles.PersonProperties type\n */\nexport interface IPersonProperties {\n    _ObjectType_: string;\n    AccountName: string;\n    UserProfileProperties: any;\n}\n\n/**\n * Defines the structure of the response for a User Profile property updated\n */\nexport interface ISetPropertyResponse {\n    ErrorInfo: string;\n    LibraryVersion: string;\n    SchemaVersion: string;\n    TraceCorrelationId: string;\n}"
  },
  {
    "path": "source/react-application-portal-footer/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-banner/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-banner/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // react/self-closing-comp\n        // ====================================================================\n        'react/self-closing-comp': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-banner/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-banner/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-banner/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-banner/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-banner/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-banner\",\n    \"libraryId\": \"b50504bb-cf4d-4b53-b47a-70d2d903b8d7\",\n    \"packageManager\": \"npm\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-banner/README.md",
    "content": "# Banner web part\n\nThis web part provides you the ability to add a variable height image banner with a linkable title.\n**note** As of V2, this Banner webpart is hidden from the webpart toolbox and may be only added to a webpart using PowerShell or another automated deployment approach. This may be overwritten by updating the hiddenFromToolbox property to \"false\" found in [./src/webparts/banner/BannerWebPart.manifest.json](./src/webparts/banner/BannerWebPart.manifest.json).\n\n![Bannner](../../assets/images/components/part-banner.gif)\n\n## Configurable Properties\n\nThe `Banner` webpart can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Overlay image text | bannerText | string | no | The text message or title you want displayed on the banner image |\n| Image URL | bannerImage | string | no | The url of the banner image |\n| Link URL | bannerLink | string | no | The hyperlink url of the bannerText link |\n| Banner height | bannerHeight | number | no | Provides the fixed height of the banner image |\n| Enable parallax effect | useParallax | toggle | no | Enable if you want to include parallax effect on vertical scrolling |\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Banner** web part.\n3. Configure the web part to update its properties.\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nnone\n\n## Solution\n\nSolution|Author(s)\n--------|---------\n./src/webparts/banner | Elio Struyf @eliostruyf\n./source/react-banner | Eric Overfield @ericoverfield\n./source/react-banner | Chandani Prajapati @Chandani_SPD\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018|Initial release\n2.0|November 30, 2019| SP2019 and SPO compatible\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n> Include any additional steps as needed.\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Hiding a webpart from the webpart toolbox\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-banner\" />\n"
  },
  {
    "path": "source/react-banner/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"banner-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/banner/BannerWebPart.js\",\n          \"manifest\": \"./src/webparts/banner/BannerWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"BannerWebPartStrings\": \"lib/webparts/banner/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/react-banner/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-banner\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-banner/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Banner\",\n    \"id\": \"b50504bb-cf4d-4b53-b47a-70d2d903b8d7\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-banner description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-banner description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - Banner Webpart Feature\",\n        \"description\": \"The feature that activates Banner WebPart from the Starter Kit - Banner solution.\",\n        \"id\": \"84a626d0-e973-4429-91cc-5adc610d437c\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"84a626d0-e973-4429-91cc-5adc610d437c\"\n        ]\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-banner.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-banner/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-banner/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-banner/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-banner/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-banner/package.json",
    "content": "{\n  \"name\": \"react-banner\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"@pnp/spfx-property-controls\": \"3.11.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-banner/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/BannerWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"84a626d0-e973-4429-91cc-5adc610d437c\",\n  \"alias\": \"BannerWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n\n  \"supportsFullBleed\": true,\n  \"supportedHosts\": [\"SharePointWebPart\", \"TeamsTab\", \"TeamsPersonalApp\", \"SharePointFullPage\"],\n  \"hiddenFromToolbox\": true,\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"Banner\" },\n    \"description\": { \"default\": \"Renders a banner style presentation with text and image\" },\n    \"officeFabricIconFontName\": \"PanoIndicator\",\n    \"properties\": {\n      \"bannerText\": \"\",\n      \"bannerImage\": \"\",\n      \"bannerLink\": \"\",\n      \"bannerHeight\": 280,\n      \"useParallax\": true\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/BannerWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version, DisplayMode } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart, IWebPartPropertiesMetadata } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration, PropertyPaneTextField, PropertyPaneToggle } from \"@microsoft/sp-property-pane\";\n\nimport { Banner, IBannerProps } from './components';\n\nimport * as strings from 'BannerWebPartStrings';\n\nexport interface IBannerWebPartProps {\n  bannerText: string;\n  bannerImage: string;\n  bannerLink: string;\n  bannerHeight: number;\n  fullWidth: boolean;\n  useParallax: boolean;\n  useParallaxInt: boolean;\n}\n\nexport default class BannerWebPart extends BaseClientSideWebPart<IBannerWebPartProps> {\n  // tslint:disable-next-line:no-any\n  private propertyFieldNumber: any;\n\n  public render(): void {\n    const element: React.ReactElement<IBannerProps> = React.createElement(\n      Banner,\n      {\n        ...this.properties,\n        propertyPane: this.context.propertyPane,\n        domElement: this.context.domElement,\n        // tslint:disable-next-line:max-line-length\n        useParallaxInt: this.displayMode === DisplayMode.Read && !!this.properties.bannerImage && this.properties.useParallax\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  /**\n   * Set property metadata\n   */\n  protected get propertiesMetadata(): IWebPartPropertiesMetadata {\n    return {\n      'bannerText': { isSearchablePlainText: true },\n      'bannerImage': { isImageSource: true },\n      'bannerLink': { isLink: true }\n    };\n  }\n\n  // executes only before property pane is loaded.\n  protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n\n    const { PropertyFieldNumber } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-number' */\n      '@pnp/spfx-property-controls/lib/propertyFields/number'\n    );\n\n    this.propertyFieldNumber = PropertyFieldNumber;\n  }\n\n  /**\n   * Property pane configuration\n   */\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          groups: [\n            {\n              groupName: strings.BannerConfigName,\n              groupFields: [\n                PropertyPaneTextField('bannerText', {\n                  label:  strings.BannerTextField,\n                  multiline: true,\n                  maxLength: 200,\n                  value: this.properties.bannerText\n                }),\n                PropertyPaneTextField('bannerImage', {\n                  label:  strings.BannerImageUrlField,\n                  onGetErrorMessage: this._validateImageField,\n                  value: this.properties.bannerImage\n                }),\n                PropertyPaneTextField('bannerLink', {\n                  label:  strings.BannerLinkField,\n                  value: this.properties.bannerLink\n                }),\n                this.propertyFieldNumber('bannerHeight', {\n                  key: 'bannerHeight',\n                  label:  strings.BannerNumberField,\n                  value: this.properties.bannerHeight,\n                  maxValue: 500,\n                  minValue: 100\n                }),\n                PropertyPaneToggle('useParallax', {\n                  label:  strings.BannerParallaxField,\n                  checked: this.properties.useParallax\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n\n  /**\n   * Field validation\n  */\n  private _validateImageField(imgVal: string): string {\n    if (imgVal) {\n      const urlSplit: string[] = imgVal.split('.');\n      if (urlSplit && urlSplit.length > 0) {\n        const extName: string = urlSplit.pop().toLowerCase();\n        if (['jpg', 'jpeg', 'png', 'gif'].indexOf(extName) === -1) {\n          return strings.BannerValidationNotImage;\n        }\n      }\n    }\n    return '';\n  }\n}\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/components/Banner.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.banner {\n  align-items: flex-end;\n  display: flex;\n  flex-direction: row;\n  font-size: 14px;\n  position: relative;\n  overflow: hidden;\n\n  .bannerImg {\n    background-position: center;\n    background-size: cover;\n    height: 100%;\n    position: absolute;\n    top: 0;\n    width: 100%;\n    will-change: transform;\n  }\n\n  .bannerOverlay {\n    background-color: rgba(0, 0, 0, 0.4);\n    height: 100%;\n    position: absolute;\n    width: 100%;\n  }\n\n  .bannerText {\n    @include ms-fontSize-su;\n    @include ms-fontWeight-light;\n    box-sizing: border-box;\n    color: #fff;\n    position: relative;\n    margin: 0 auto 12px auto;\n    max-width: 1284px;\n    padding: 0 40px;\n    width: 100%;\n    word-break: break-word;\n\n    a {\n      color: #fff;\n      text-decoration: none;\n\n      &:visited {\n        color: #fff;\n      }\n\n      &:hover {\n        color: #fff;\n        border-bottom: 1px solid #fff;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/components/Banner.tsx",
    "content": "import * as React from 'react';\nimport styles from './Banner.module.scss';\nimport { IBannerProps } from '.';\nimport { escape } from '@microsoft/sp-lodash-subset';\nimport { Placeholder } from '@pnp/spfx-controls-react/lib/Placeholder';\nimport * as strings from 'BannerWebPartStrings';\n\nexport class Banner extends React.Component<IBannerProps, {}> {\n  private _scrollElm: HTMLElement = undefined;\n  private _scrollElmRect: ClientRect = undefined;\n  private _parallaxElm: HTMLElement = undefined;\n\n  /**\n   * Bind the parallax effect on mount\n   */\n  public componentDidMount(): void {\n    this._parallaxBinding();\n  }\n\n  /**\n   * Bind the parallax effect on update\n   * @param prevProps\n   */\n  public componentDidUpdate(prevProps: IBannerProps): void {\n    this._parallaxBinding();\n  }\n\n  /**\n   * Unbind the parallax effect\n   */\n  public componentWillUnmount(): void {\n    this._removeParallaxBinding();\n  }\n\n  /**\n   * Default React render method\n   */\n  public render(): React.ReactElement<IBannerProps> {\n    if (this.props.bannerImage) {\n      return (\n        <div className={styles.banner} style={{\n          height: this.props.bannerHeight ? `${this.props.bannerHeight}px` : `280px`\n        }}>\n          <div className={styles.bannerImg} style={{\n            backgroundImage: `url('${this.props.bannerImage}')`\n          }}></div>\n          <div className={styles.bannerOverlay}></div>\n          <div className={styles.bannerText}>\n            {\n              this.props.bannerLink ? (\n                // tslint:disable-next-line:max-line-length\n                <a href={this.props.bannerLink} title={escape(this.props.bannerText)}>{escape(this.props.bannerText)}</a>\n              ) : (\n                <span>{escape(this.props.bannerText)}</span>\n              )\n            }\n          </div>\n        </div>\n      );\n    } else {\n      return <Placeholder iconName='ImagePixel'\n                          iconText={strings.BannerPlaceholderIconText}\n                          description={strings.BannerPlaceholderDescription}\n                          buttonLabel={strings.BannerPlaceholderBtnLabel}\n                          onConfigure={this._onConfigure} />;\n    }\n  }\n\n  /**\n   * Opens the property pane of the web part for configuration\n   */\n  private _onConfigure = () => {\n    this.props.propertyPane.open();\n  }\n\n  /**\n   * Finds the scrollable parent\n   */\n  private _getScrollableParent(): HTMLElement {\n    const scrollElm: HTMLElement = document.querySelector('div[data-is-scrollable=\"true\"]') as HTMLElement;\n    if (scrollElm) {\n      return scrollElm;\n    }\n    return undefined;\n  }\n\n  /**\n   * Set translate / parallax effect\n   * @param vector\n   */\n  private _setTranslate (vector: number): void {\n    const r: string = `translate3d(0px, ${vector}px, 0px)`;\n    this._parallaxElm.style.transform = r;\n  }\n\n  /**\n   * Set the parallax effect to the banner image element\n   */\n  private _setParallaxEffect = (): void => {\n    window.requestAnimationFrame((): void => {\n      const scrollElmTop: number = this._scrollElmRect.top;\n      const clientElmRect: ClientRect = this.props.domElement.getBoundingClientRect();\n      const clientElmTop: number = clientElmRect.top;\n      const clientElmBottom: number = clientElmRect.bottom;\n\n      if (clientElmTop < scrollElmTop && clientElmBottom > scrollElmTop) {\n        const vector: number = Math.round((scrollElmTop - clientElmTop) / 1.81);\n        this._setTranslate(vector);\n      } else if (clientElmTop >= scrollElmTop) {\n        this._setTranslate(0);\n      }\n    });\n  }\n\n  private _removeParallaxBinding(): void {\n    if (this._scrollElm) {\n      // Unbind the scroll event\n      this._scrollElm.removeEventListener('scroll', this._setParallaxEffect);\n    }\n  }\n\n  /**\n   * Add or remove parallax binding to the banner\n   */\n  private _parallaxBinding(): void {\n    if (this.props.useParallaxInt) {\n      this._scrollElm = this._getScrollableParent();\n      this._parallaxElm = this.props.domElement.querySelector(`.${styles.bannerImg}`) as HTMLElement;\n      if (this._scrollElm && this._parallaxElm) {\n        // Get client rect info\n        this._scrollElmRect = this._scrollElm.getBoundingClientRect();\n        // Bind the scroll event\n        this._scrollElm.addEventListener('scroll', this._setParallaxEffect);\n      }\n    } else {\n      this._removeParallaxBinding();\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/components/IBannerProps.ts",
    "content": "import { IBannerWebPartProps } from '../BannerWebPart';\nimport { IPropertyPaneAccessor } from '@microsoft/sp-webpart-base';\n\nexport interface IBannerProps extends IBannerWebPartProps {\n  propertyPane: IPropertyPaneAccessor;\n  domElement: HTMLElement;\n}\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/components/index.ts",
    "content": "export * from './IBannerProps';\nexport * from './Banner';\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"BannerConfigName\": \"Banner konfiguration\",\n    \"BannerTextField\": \"Overlay Bild Text\",\n    \"BannerImageUrlField\": \"Bild URL\",\n    \"BannerLinkField\": \"Link URL\",\n    \"BannerNumberField\": \"Banner Höhe\",\n    \"BannerParallaxField\": \"Aktiviere Parallaxe-Effekt\",\n\n    // Validation\n    \"BannerValidationNotImage\": \"Bitte geben sie einen Link zu einem Bild an\",\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Konfigurieren Sie ihren Web Part\",\n    \"BannerPlaceholderDescription\": \"Bitte geben Sie die Banner konfiguration an.\",\n    \"BannerPlaceholderBtnLabel\": \"Konfigurieren\"\n  }\n});\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"BannerConfigName\": \"Banner configuration\",\n    \"BannerTextField\": \"Overlay image text\",\n    \"BannerImageUrlField\": \"Image URL\",\n    \"BannerLinkField\": \"Link URL\",\n    \"BannerNumberField\": \"Banner height\",\n    \"BannerParallaxField\": \"Enable parallax effect\",\n\n    // Validation\n    \"BannerValidationNotImage\": \"Please provide a link to an image\",\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configure your web part\",\n    \"BannerPlaceholderDescription\": \"Please specify the banner configuration.\",\n    \"BannerPlaceholderBtnLabel\": \"Configure\"\n  }\n});\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"BannerConfigName\": \"Configuración de la pancarta\",\n    \"BannerTextField\": \"Texto de la imagen sobre puesta\",\n    \"BannerImageUrlField\": \"Dirección URL de la imagen\",\n    \"BannerLinkField\": \"Dirección URL del enlace\",\n    \"BannerNumberField\": \"Alto de la pancarta\",\n    \"BannerParallaxField\": \"Habilitar el efecto paralaje\",\n\n    // Validation\n    \"BannerValidationNotImage\": \"Favor de proporcionar un enlace a la imagen\",\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configure su elemento web\",\n    \"BannerPlaceholderDescription\": \"Favor de especificar la configuración de la pancarta.\",\n    \"BannerPlaceholderBtnLabel\": \"Configuración\"\n  }\n});\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"BannerConfigName\": \"Configuration de la bannière\",\n    \"BannerTextField\": \"Légende texte de l'image\",\n    \"BannerImageUrlField\": \"Image URL\",\n    \"BannerLinkField\": \"Lien URL\",\n    \"BannerNumberField\": \"Hauteur de la bannière\",\n    \"BannerParallaxField\": \"Activer l'effet de parallaxe\",\n\n    // Validation\n    \"BannerValidationNotImage\": \"Veuillez fournir un lien vers une image\",\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Configurez votre partie Web\",\n    \"BannerPlaceholderDescription\": \"Veuillez spécifier la configuration de la bannière.\",\n    \"BannerPlaceholderBtnLabel\": \"Configurez\"\n  }\n});\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/loc/mystrings.d.ts",
    "content": "declare interface IBannerWebPartStrings {\n  BannerConfigName: string;\n  BannerTextField: string;\n  BannerImageUrlField: string;\n  BannerLinkField: string;\n  BannerNumberField: string;\n  BannerParallaxField: string;\n  BannerValidationNotImage: string;\n  BannerPlaceholderIconText: string;\n  BannerPlaceholderDescription: string;\n  BannerPlaceholderBtnLabel: string;\n}\n\ndeclare module 'BannerWebPartStrings' {\n  const strings: IBannerWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"BannerConfigName\": \"Banner konfigurasjon\",\n    \"BannerTextField\": \"Bildetekst\",\n    \"BannerImageUrlField\": \"Bilde URL\",\n    \"BannerLinkField\": \"Lenke URL\",\n    \"BannerNumberField\": \"Banner høyde\",\n    \"BannerParallaxField\": \"Aktiver parallax effekt\",\n\n    // Validation\n    \"BannerValidationNotImage\": \"Vennligst angi en lenke til bildet\",\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Konfigurer webdelen\",\n    \"BannerPlaceholderDescription\": \"Angi banner konfigurasjonen.\",\n    \"BannerPlaceholderBtnLabel\": \"Konfigurer\"\n  }\n});\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"BannerConfigName\": \"Banner configuratie\",\n      \"BannerTextField\": \"Banner afbeeldingstekst\",\n      \"BannerImageUrlField\": \"Afbeeldings URL\",\n      \"BannerLinkField\": \"Link URL\",\n      \"BannerNumberField\": \"Banner hoogte\",\n      \"BannerParallaxField\": \"Activeer parallax effect\",\n  \n      // Validation\n      \"BannerValidationNotImage\": \"Voeg een link toe naar een afbeelding alsjeblieft\",\n  \n      // React component strings\n      \"BannerPlaceholderIconText\": \"Configureer je webpart\",\n      \"BannerPlaceholderDescription\": \"Specificeer de banner configuratie alsjeblieft\",\n      \"BannerPlaceholderBtnLabel\": \"Configureer\"\n    }\n  });\n  "
  },
  {
    "path": "source/react-banner/src/webparts/banner/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"BannerConfigName\": \"Bannerkonfiguration\",\n    \"BannerTextField\": \"Täckande bildtext\",\n    \"BannerImageUrlField\": \"Bild URL\",\n    \"BannerLinkField\": \"Länk URL\",\n    \"BannerNumberField\": \"Bannerhöjd\",\n    \"BannerParallaxField\": \"Aktivera parallaxeffekt\",\n\n    // Validation\n    \"BannerValidationNotImage\": \"Vänligen ange en länk till en bild\",\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Konfigurera din webbdel\",\n    \"BannerPlaceholderDescription\": \"Ange bannerkonfigurationen.\",\n    \"BannerPlaceholderBtnLabel\": \"Konfigurera\"\n  }\n});\n"
  },
  {
    "path": "source/react-banner/src/webparts/banner/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"BannerConfigName\": \"Banner yapılandırması\",\n    \"BannerTextField\": \"Bindirme resmi metni\",\n    \"BannerImageUrlField\": \"Resim URL’si\",\n    \"BannerLinkField\": \"Bağlantı adresi\",\n    \"BannerNumberField\": \"Banner yüksekliği\",\n    \"BannerParallaxField\": \"Paralaks efektini etkinleştir\",\n\n    // Validation\n    \"BannerValidationNotImage\": \"Lütfen bir resme bağlantı verin\",\n\n    // React component strings\n    \"BannerPlaceholderIconText\": \"Web bölümünü yapılandır\",\n    \"BannerPlaceholderDescription\": \"Lütfen banner yapılandırmasını belirtin.\",\n    \"BannerPlaceholderBtnLabel\": \"Yapılandır\"\n  }\n});\n"
  },
  {
    "path": "source/react-banner/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-command-discuss-now/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-command-discuss-now/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/default'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          0,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 0,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          0,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 0,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 0,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 0,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // no-useless-escape\n        // ====================================================================\n        'no-useless-escape': 0,\n        'no-case-declarations': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-command-discuss-now/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n"
  },
  {
    "path": "source/react-command-discuss-now/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-command-discuss-now/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-command-discuss-now/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-command-discuss-now/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-command-discuss-now\",\n    \"libraryId\": \"76b85695-0232-4c4a-8e24-5458cf1dcbba\",\n    \"packageManager\": \"npm\",\n    \"isDomainIsolated\": false,\n    \"componentType\": \"extension\",\n    \"extensionType\": \"ListViewCommandSet\"\n  }\n}"
  },
  {
    "path": "source/react-command-discuss-now/README.md",
    "content": "# Discuss now extension\n\n# Discuss Now List View Command Set\n\nThis List View Command Set provides you the ability to add a custom dialog to start a discussion on a specific document within a document library by creating a discussion on the choosen team at Microsoft Team.\n\nThe message is added to the team by using Microsoft Graph APIs based on choosen list of items.\n\nThe command set extension is designed for group associated team sites.\n\n![Discuss Now](../../assets/images/components/ext-collab-discussnow.png)\n\nThis extension requires access to the Microsoft Graph and must target a specific list template types, such as `101` for document libraries.\n\nDetails on the v1 version of the extension from https://github.com/SharePoint/sp-starter-kit/blob/master/documentation/components/ext-collab-discussnow.md. Notice that the v1 UI is different as that was creatin a meeting for the discussion. In the v2, we need to ask list of teams which user has access to start the discussion. \n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nPermissions to Microsoft Graph - scope: \"Group.ReadWrite.All\"\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-command-discuss-now | Chandani Prajapati\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|December 25, 2019|Initial release\n2.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to correct folder\n* Update config.json based on the tenant details which you use for testing\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n## Features\n\nThis Application customizer illustrates the following concepts on top of the SharePoint Framework:\n\n* Using Microsoft Graph within an application customizer command set\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-command-discuss-now\" />\n"
  },
  {
    "path": "source/react-command-discuss-now/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"discuss-now-command-set\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/extensions/discussNow/DiscussNowCommandSet.js\",\n          \"manifest\": \"./src/extensions/discussNow/DiscussNowCommandSet.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"DiscussNowCommandSetStrings\": \"lib/extensions/discussNow/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/react-command-discuss-now/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-command-discuss-now\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-command-discuss-now/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Discuss Now command set\",\n    \"id\": \"76b85695-0232-4c4a-8e24-5458cf1dcbba\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"websiteUrl\": \"\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-command-discuss-now description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-command-discuss-now description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"webApiPermissionRequests\": [\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"Group.ReadWrite.All\"\n      }\n    ],\n    \"features\": [\n      {\n        \"title\": \"Application Extension - Deployment of Starter Kit - Discuss Now command set custom action\",\n        \"description\": \"Deploys a custom action within Starter Kit - Discuss Now command set\",\n        \"id\": \"89733413-9b66-4c6a-8bac-ecd0844ef752\",\n        \"version\": \"3.0.0.0\",\n        \"assets\": {\n          \"elementManifests\": [\n            \"elements.xml\",\n            \"clientsideinstance.xml\"\n          ]\n        }\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-command-discuss-now.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-command-discuss-now/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-command-discuss-now/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"serveConfigurations\": {\n    \"default\": {\n      \"pageUrl\": \"https://contoso.sharepoint.com/sites/mySite/SitePages/myPage.aspx\",\n      \"customActions\": {\n        \"84de6bad-859f-4c3b-934c-f6c6ae935c72\": {\n          \"location\": \"ClientSideExtension.ListViewCommandSet.CommandBar\",\n          \"properties\": {\n            \"sampleTextOne\": \"One item is selected in the list\",\n            \"sampleTextTwo\": \"This command is always visible.\"\n          }\n        }\n      }\n    },\n    \"discussNow\": {\n      \"pageUrl\": \"https://contoso.sharepoint.com/sites/mySite/SitePages/myPage.aspx\",\n      \"customActions\": {\n        \"84de6bad-859f-4c3b-934c-f6c6ae935c72\": {\n          \"location\": \"ClientSideExtension.ListViewCommandSet.CommandBar\",\n          \"properties\": {\n            \"sampleTextOne\": \"One item is selected in the list\",\n            \"sampleTextTwo\": \"This command is always visible.\"\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-command-discuss-now/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-command-discuss-now/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-command-discuss-now/package.json",
    "content": "{\n  \"name\": \"react-command-discuss-now\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/decorators\": \"1.16.1\",\n    \"@microsoft/sp-application-base\": \"1.16.1\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-dialog\": \"1.16.1\",\n    \"@microsoft/sp-listview-extensibility\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@microsoft/sp-tslint-rules\": \"1.14.0\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/es6-promise\": \"0.0.33 \",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"1.15.2\",\n    \"ajv\": \"6.12.5\",\n    \"eslint\": \"8.7.0\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"tslint-microsoft-contrib\": \"5.0.0\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-command-discuss-now/sharepoint/assets/ClientSideInstance.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n</Elements>\n"
  },
  {
    "path": "source/react-command-discuss-now/sharepoint/assets/elements.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Elements xmlns=\"http://schemas.microsoft.com/sharepoint/\">\n    <CustomAction\n        Title=\"DiscussNow\"\n        RegistrationId=\"101\"\n        RegistrationType=\"List\"\n        Location=\"ClientSideExtension.ListViewCommandSet.CommandBar\"\n        ClientSideComponentId=\"84de6bad-859f-4c3b-934c-f6c6ae935c72\"\n        ClientSideComponentProperties=\"{}\">\n    </CustomAction>\n</Elements>\n"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/DiscussNowCommandSet.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/command-set-extension-manifest.schema.json\",\n\n  \"id\": \"84de6bad-859f-4c3b-934c-f6c6ae935c72\",\n  \"alias\": \"DiscussNowCommandSet\",\n  \"componentType\": \"Extension\",\n  \"extensionType\": \"ListViewCommandSet\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n\n  \"items\": {\n    \"DISCUSS_NOW\": {\n      \"title\": { \"default\": \"Discuss Now\" },\n      \"iconImageUrl\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAABkCAYAAABnwAWdAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMjHxIGmVAAACfElEQVR4Xu3cMW7CQBRF0SyMHVDBFkC0LIQCiYaGlpI1Okxl5fHDKLHH/s/c4jSf8cjjmyJWIr66roOhcIj8wiHyC4fILxwiv3CI/MIh8guHyC8ctrTdbrvVavXD4/F4fhSvz6rcs56jnE3XtRIOWyLcOMJhS4QbRzhsiXDjCIctEW4c4bCVctj1ev1y4PP5/Pw4viarcs96jnK2qX4Iw+Fv9vv9y81iXOUZ63OPhMPfEK49wpkinCnCmZos3Ol0en4Ur49sNpuXPe73+/OjeH1W5Z71HOVsuu6d8ux0j8nCXS6X50fx+kj0HqdrXOg5/voeV56d7kG4Ceg5CGdCz0E4E3qORYc7Ho/dbrf7Qde40HOUs+mad6zCoUc4U4QzRThThDM1a7jD4dBdr1f8Q3l2+jwnC4dxEc4U4UwRzhThTE0W7q9/SEXP6g+p6PECbopwpghninCmPi6c3kOha2pa7LHof10Yg95DoWtqWuxBuAq9h0LX1LTYg3AVeg+FrqlpsQfhKvQeCl1T02IPwn0IwpkinCnCmSKcKcKZsgpXfmXWPXRNjV6fZY9Fvw4Qrke4JHsQrkKvz7IH4Sr0+ix7LDrc7XZ7+R96XVOj12fZo5xN17xjFQ49wpkinCnCmSKcKatwY3zPiV6fZY9Ff88J73E9wiXZg3AVen2WPQhXoddn2WPR4fjlpGcVDj3CmSKcKcKZIpwpq3BL+kPqUFbhlvQeNxThZtpjKMLNtMdQhJtpj6EIN9MeQ1mFQ49wpghninCmCGdq1nB8Q+z/zfoNsRgX4UwRzhThTBHOVJNwyCMcIr9wiPzCIfILh8gvHCK/cIj8wiGy676+ARlkLSkcz5VlAAAAAElFTkSuQmCC\",\n      \"type\": \"command\"\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/DiscussNowCommandSet.ts",
    "content": "import { override } from '@microsoft/decorators';\nimport { Log } from '@microsoft/sp-core-library';\nimport {\n  BaseListViewCommandSet,\n  Command,\n  IListViewCommandSetListViewUpdatedParameters,\n  IListViewCommandSetExecuteEventParameters\n} from '@microsoft/sp-listview-extensibility';\nimport { Dialog } from '@microsoft/sp-dialog';\n\nimport * as strings from 'DiscussNowCommandSetStrings';\n\nimport ScheduleMeetingDialog from './components/ScheduleMeetingDialog';\n\n\n/**\n * If your command set uses the ClientSideComponentProperties JSON input,\n * it will be deserialized into the BaseExtension.properties object.\n * You can define an interface to describe it.\n */\nexport interface IDiscussNowCommandSetProperties {\n  // This is an example; replace with your own property\n  disabledCommandIds: string[] | undefined;\n}\n\nconst LOG_SOURCE: string = 'DiscussNowCommandSet';\n\nexport default class DiscussNowCommandSet extends BaseListViewCommandSet<IDiscussNowCommandSetProperties> {\n\n  @override\n  public onInit(): Promise<void> {\n    Log.info(LOG_SOURCE, 'Initialized DiscussNowCommandSet');\n    return Promise.resolve();\n  }\n\n  @override\n  public onListViewUpdated(event: IListViewCommandSetListViewUpdatedParameters): void {\n    // show the command just in case a single item is selected\n    const scheduleMeetingCommand: Command | undefined = this.tryGetCommand('DISCUSS_NOW');\n    scheduleMeetingCommand.visible = event.selectedRows.length == 1;\n  }\n\n  @override\n  public onExecute(event: IListViewCommandSetExecuteEventParameters): void {\n    switch (event.itemId) {\n      case 'DISCUSS_NOW':\n\n        const id: number = event.selectedRows[0].getValueByName(\"ID\");\n        const fileName: string = event.selectedRows[0].getValueByName(\"FileLeafRef\");\n        const filePath: string = event.selectedRows[0].getValueByName(\"ServerRedirectedEmbedUrl\");\n\n        const dialog: ScheduleMeetingDialog = new ScheduleMeetingDialog();\n        dialog.fileName = fileName;\n        dialog.filePath = filePath;\n        dialog.context = this.context;\n\n        dialog.show();\n\n      break;\n    default:\n      throw new Error('Unknown command');\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/components/DateTimePicker.tsx",
    "content": "import * as React from 'react';\n\nimport { IDateTimePickerProps } from './IDateTimePickerProps';\nimport { IDateTimePickerState } from './IDateTimePickerState';\n\n/**\n * Common Infrastructure\n */\nimport {\n  BaseComponent,\n  assign\n} from '@fluentui/react/lib/Utilities';\n\n/**\n * Label\n */\nimport { Label } from '@fluentui/react/lib/Label';\n\n/**\n * Text Field\n */\nimport { TextField } from '@fluentui/react/lib/TextField';\nimport { Icon } from '@fluentui/react/lib/Icon';\n\n/**\n * Date Picker\n */\nimport {\n  DatePicker,\n  DayOfWeek,\n  IDatePickerStrings\n} from '@fluentui/react/lib/DatePicker';\n\nconst DayPickerStrings: IDatePickerStrings = {\n  months: [\n    'January',\n    'February',\n    'March',\n    'April',\n    'May',\n    'June',\n    'July',\n    'August',\n    'September',\n    'October',\n    'November',\n    'December'\n  ],\n\n  shortMonths: [\n    'Jan',\n    'Feb',\n    'Mar',\n    'Apr',\n    'May',\n    'Jun',\n    'Jul',\n    'Aug',\n    'Sep',\n    'Oct',\n    'Nov',\n    'Dec'\n  ],\n\n  days: [\n    'Sunday',\n    'Monday',\n    'Tuesday',\n    'Wednesday',\n    'Thursday',\n    'Friday',\n    'Saturday'\n  ],\n\n  shortDays: [\n    'S',\n    'M',\n    'T',\n    'W',\n    'T',\n    'F',\n    'S'\n  ],\n\n  goToToday: 'Go to today',\n  isRequiredErrorMessage: 'Field is required.',\n  invalidInputErrorMessage: 'Invalid date format.'\n};\n\nexport interface IDatePickerRequiredExampleState {\n  firstDayOfWeek?: DayOfWeek;\n}\n\nexport class DateTimePicker extends React.Component<IDateTimePickerProps, IDateTimePickerState> {\n\n    /**\n     * Constructor\n     */\n    constructor(props: IDateTimePickerProps) {\n        super(props);\n\n        this.state = {\n            date: (this.props.initialDateTime != null) ? this.props.initialDateTime : null,\n            hours: (this.props.initialDateTime != null) ? this.props.initialDateTime.getHours() : 0,\n            minutes: (this.props.initialDateTime != null) ? this.props.initialDateTime.getMinutes() : 0,\n            seconds: (this.props.initialDateTime != null) ? this.props.initialDateTime.getSeconds() : 0,\n        };\n    }\n\n  public render(): React.ReactElement<IDateTimePickerProps> {\n    return (\n        <div className=\"ms-Grid\">\n            <div className=\"ms-Grid-row\">\n                <div className={ (this.props.showTime) ? \"ms-Grid-col ms-u-sm6 ms-u-md6 ms-u-lg6\" : \"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\" }>\n                    <DatePicker\n                        value={ this.state.date }\n                        onSelectDate={ this._dateSelected }\n                        label={ this.props.dateLabel }\n                        isRequired={ this.props.isRequired }\n                        firstDayOfWeek={ DayOfWeek.Sunday }\n                        strings={ DayPickerStrings }\n                        placeholder={ this.props.datePlaceholder } />\n                </div>\n                { (this.props.showTime) ?\n                    <div className={ (this.props.includeSeconds) ? \"ms-Grid-col ms-u-sm2 ms-u-md2 ms-u-lg2\" : \"ms-Grid-col ms-u-sm3 ms-u-md3 ms-u-lg3\" }>\n                        <TextField\n                          type=\"number\"\n                          label={ this.props.hoursLabel }\n                          onChange={ this._hoursChanged }\n                          onGetErrorMessage={ this._getErrorMessageHours }\n                          min=\"0\" \n                          max=\"23\" />\n                    </div>\n                    : null\n                }\n                { (this.props.showTime) ?\n                    <div className={ (this.props.includeSeconds) ? \"ms-Grid-col ms-u-sm2 ms-u-md2 ms-u-lg2\" : \"ms-Grid-col ms-u-sm3 ms-u-md3 ms-u-lg3\" }>\n                        <TextField\n                          type=\"number\"\n                          label={ this.props.minutesLabel }\n                          onChange={ this._minutesChanged }\n                          onGetErrorMessage={ this._getErrorMessageMinutes }\n                          min=\"0\" \n                          max=\"59\" />\n                    </div>\n                    : null\n                }\n                { (this.props.showTime && this.props.includeSeconds) ?\n                    <div className=\"ms-Grid-col ms-u-sm2 ms-u-md2 ms-u-lg2\">\n                        <TextField\n                          type=\"number\"\n                          label={ this.props.secondsLabel }\n                          onChange={ this._secondsChanged }\n                          onGetErrorMessage={ this._getErrorMessageSeconds }\n                          min=\"0\"\n                          max=\"59\" />\n                    </div>\n                    : null\n                }\n            </div>\n        </div>\n    );\n  }\n\n  private _dateSelected = (date: Date): void => {\n    if (date == null) {\n      return;\n    }\n\n    this.setState({\n      date: date\n    }, () => { this.saveFullDate(); });\n  }\n\n  private _hoursChanged = (event: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>, value?: string): void => {\n    this.setState({\n      hours: Number(value)\n    }, () => { this.saveFullDate(); });\n  }\n\n  private _getErrorMessageHours = (value: string): string => {\n    let hoursValue: Number = Number(value);\n    return (hoursValue >= 0 && hoursValue <= 23)\n      ? ''\n      : `${this.props.hoursValidationError}.`;\n  }\n\nprivate _minutesChanged = (event: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>, newValue?: string): void => {\n    this.setState({\n      minutes: Number(newValue)\n    }, () => { this.saveFullDate(); });\n  }\n\n  private _getErrorMessageMinutes = (value: string): string => {\n    let minutesValue: Number = Number(value);\n    return (minutesValue >= 0 && minutesValue <= 59)\n      ? ''\n      : `${this.props.minutesValidationError}.`;\n  }\n\n  private _secondsChanged = (event: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>, newValue?: string): void => {\n    this.setState({\n      seconds: Number(newValue)\n    }, () => { this.saveFullDate(); });\n  }\n\n  private _getErrorMessageSeconds = (value: string): string => {\n    let secondsValue: Number = Number(value);\n    return (secondsValue >= 0 && secondsValue <= 59)\n      ? ''\n      : `${this.props.secondsValidationError}.`;\n  }\n\n  private saveFullDate(): void {\n    if (this.state.date == null) {\n      return;\n    }\n    var finalDate: Date = new Date(this.state.date.toISOString());\n    finalDate.setHours(this.state.hours);\n    finalDate.setMinutes(this.state.minutes);\n    finalDate.setSeconds(this.props.includeSeconds ? this.state.seconds : 0);\n\n    if (finalDate != null) {\n      var finalDateAsString: string = '';\n      if (this.props.formatDate) {\n        finalDateAsString = this.props.formatDate(finalDate);\n      } else {\n        finalDateAsString = finalDate.toString();\n      }\n    }\n\n    this.setState({\n      fullDate: finalDateAsString\n    });\n\n    if (this.props.onChanged != null) {\n      this.props.onChanged(finalDate);\n    }\n  }\n}"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/components/IDateTimePickerProps.ts",
    "content": "export interface IDateTimePickerProps {\n    dateLabel: string;\n    datePlaceholder?: string;\n    hoursLabel?: string;\n    hoursValidationError?: string;\n    minutesLabel?: string;\n    minutesValidationError?: string;\n    secondsLabel?: string;\n    secondsValidationError?: string;\n    isRequired: boolean;\n    initialDateTime?: Date;\n    showTime?: boolean;\n    includeSeconds?: boolean;\n    formatDate?: (date: Date) => string;\n\n    onChanged?: (newValue: Date) => void;\n}"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/components/IDateTimePickerState.ts",
    "content": "export interface IDateTimePickerState {\n    date?: Date;\n    hours?: number;\n    minutes?: number;\n    seconds?: number;\n    fullDate?: string;\n}"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/components/ScheduleMeetingDialog.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.scheduleMeetingDialogRoot {\n    .scheduleMeetingDialogContent {\n        text-align: left;\n        vertical-align: top;\n    }\n}"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/components/ScheduleMeetingDialog.tsx",
    "content": "import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { BaseDialog, IDialogConfiguration } from '@microsoft/sp-dialog';\nimport {\n  PrimaryButton,\n  CommandButton,\n  TextField,\n  Dropdown,\n  IDropdownOption,\n  DialogFooter,\n  DialogContent\n} from '@fluentui/react';\n\nimport { DateTimePicker } from './DateTimePicker';\nimport { ListViewCommandSetContext } from '@microsoft/sp-listview-extensibility';\nimport { Dialog } from '@microsoft/sp-dialog';\nimport { MSGraphClientV3 } from \"@microsoft/sp-http\";\n\nimport styles from './ScheduleMeetingDialog.module.scss';\nimport * as strings from 'DiscussNowCommandSetStrings';\n\ninterface IScheduleMeetingDialogContentProps {\n  fileName: string;\n  filePath: string;\n  close: () => void;\n  submit: (subject: string, meetingDateTime: Date, duration: number) => void;\n}\n\ninterface IScheduleMeetingDialogContentState {\n  subject: string;\n  dateTime: Date;\n  duration: number;\n}\n\nclass ScheduleMeetingDialogContent extends\n  React.Component<IScheduleMeetingDialogContentProps, IScheduleMeetingDialogContentState> {\n\n    constructor(props: IScheduleMeetingDialogContentProps) {\n      super(props);\n\n      this.state = {\n        subject: this.props.fileName,\n        dateTime: new Date(),\n        duration: 60\n      };\n    }\n\n    public render(): JSX.Element {\n      return (<div className={ styles.scheduleMeetingDialogRoot }>\n        <DialogContent\n          title={ strings.DiscussNowDialogTitle }\n          subText={ strings.DiscussNowDialogDescription }\n          onDismiss={ this.props.close }\n          showCloseButton={ true }\n          >\n          <div className={ styles.scheduleMeetingDialogContent }>\n            <div className=\"ms-Grid\">\n              <div className=\"ms-Grid-row\">\n                <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                  <TextField\n                    label={ strings.ScheduleMeetingSubjectLabel }\n                    required={ true }\n                    value={ this.state.subject }\n                    onChange={ this._onChangedSubject }\n                    onGetErrorMessage={ this._getErrorMessageSubject }\n                  />\n                </div>\n              </div>\n              <div className=\"ms-Grid-row\">\n                <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                  <DateTimePicker\n                    showTime={ true }\n                    includeSeconds={ false }\n                    isRequired={ true }\n                    dateLabel={ strings.ScheduleMeetingDateLabel }\n                    hoursLabel={ strings.ScheduleMeetingHoursLabel }\n                    hoursValidationError={ strings.ScheduleMeetingHoursValidationError }\n                    minutesLabel={ strings.ScheduleMeetingMinutesLabel }\n                    minutesValidationError={ strings.ScheduleMeetingMinutesValidationError }\n                    onChanged={ this._onChangedScheduledDateTime }\n                  />\n                </div>\n              </div>\n              <div className=\"ms-Grid-row\">\n                <div className=\"ms-Grid-col ms-u-sm12 ms-u-md12 ms-u-lg12\">\n                  <Dropdown\n                    label={ strings.ScheduleMeetingDurationLabel }\n                    defaultSelectedKey='60'\n                    options={\n                      [\n                        { key: '30', text: '30 minutes' },\n                        { key: '60', text: '1 hour' },\n                        { key: '90', text: '1 hour and 30 minutes' },\n                        { key: '120', text: '2 hours' },\n                      ]\n                    }\n                    onChanged={ this._onChangedScheduleDuration }\n                  />\n                </div>\n              </div>\n            </div>\n          </div>\n\n          <DialogFooter>\n              <CommandButton text='Cancel' title='Cancel' onClick={ this.props.close } />\n              <PrimaryButton text='OK' title='OK' onClick={() => { this.props.submit(this.state.subject, this.state.dateTime, this.state.duration); }} />\n          </DialogFooter>\n        </DialogContent>\n      </div>);\n    }\n\n    private _onChangedSubject = (event: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>, newValue?: string): void => {\n      this.setState({\n        subject: newValue,\n      });\n    }\n\n    private _getErrorMessageSubject(value: string): string {\n      return (value == null || value.length === 0 || value.length >= 10)\n        ? ''\n        : `${strings.ScheduleMeetingSubjectValidationErrorMessage} ${value.length}.`;\n    }\n\n    private _onChangedScheduledDateTime = (newValue: Date): void => {\n      this.setState({\n        dateTime: newValue,\n      });\n    }\n\n    private _onChangedScheduleDuration = (option: IDropdownOption, index?: number): void => {\n      const duration: number = Number(option.key);\n\n      this.setState({\n        duration: duration\n      });\n    }\n}\n\nexport default class ScheduleMeetingDialog extends BaseDialog {\n    public fileName: string;\n    public filePath: string;\n    public context: ListViewCommandSetContext;\n\n    public render(): void {\n      ReactDOM.render(<ScheduleMeetingDialogContent\n        fileName={ this.fileName }\n        filePath={ this.filePath }\n        close={ this.close }\n        submit={ this._submit }\n      />, this.domElement);\n    }\n\n    public getConfig(): IDialogConfiguration {\n      return {\n        isBlocking: false\n      };\n    }\n\n    private _submit = async (subject: string, dateTime: Date, duration: number): Promise<void> => {\n\n      // *******************************************\n      // schedule the meeting with Microsoft Graph\n      // *******************************************\n\n      let response: any = null;\n      const startDateTimeISO: string = dateTime.toISOString();\n\n      // calculate the end date time\n      let addMinutes: number = 0;\n      let addHours: number = 0;\n\n      switch (duration) {\n        case 30:\n          addMinutes = 30;\n          break;\n        case 60:\n          addHours = 1;\n          break;\n        case 90:\n          addHours = 1;\n          addMinutes = 30;\n          break;\n        case 120:\n          addHours = 2;\n          break;\n        default:\n          break;\n      }\n\n      let endDateTime: Date = new Date(startDateTimeISO);\n      endDateTime.setHours(dateTime.getHours() + addHours);\n      endDateTime.setMinutes(dateTime.getMinutes() + addMinutes);\n\n      const endDateTimeISO: string = endDateTime.toISOString();\n\n      const groupId: string = this.context.pageContext.legacyPageContext.groupId;\n      if (groupId) {\n        const newMeetingRequest: any = {\n          body: {\n            content: \"Let's discuss about this document: ${this.filePath}\",\n            contentType: \"Text\"\n          },\n          subject: subject,\n          start: {\n            dateTime: startDateTimeISO,\n            timeZone: \"UTC\"\n          },\n          end: {\n            dateTime: endDateTimeISO,\n            timeZone: \"UTC\"\n          }\n        };\n\n        const graphClient: MSGraphClientV3 = await this.context.msGraphClientFactory.getClient('3');\n        response = await graphClient\n          .api(`groups/${groupId}/calendar/events`)\n          .version(\"v1.0\")\n          .post(newMeetingRequest);\n      }\n\n      if (response && response.id) {\n        Dialog.alert(`Meeting \"${subject}\" has been successfully created.`);\n      } else {\n        Dialog.alert(`Failed to create meeting \"${subject}\"!`);\n      }\n\n      this.close();\n    }\n}"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"DiscussNowCommand\": \"Discuss Now\",\n    \n    \"DiscussNowDialogTitle\": \"Jetzt besprechen\",\n    \"DiscussNowDialogDescription\": \"Stellen Sie für eine Besprechung Thema, Datum und Dauer bereit, in der Sie das aktuell ausgewählte Dokument diskutieren.\",\n    \n    \"ScheduleMeetingSubjectLabel\": \"Besprechungsthema:\",\n    \"ScheduleMeetingSubjectValidationErrorMessage\": \"Das Thema muss aus mehr als 10 Zeichen bestehen.\",\n    \"ScheduleMeetingDateLabel\": \"Besprechungsdatum:\",\n    \"ScheduleMeetingHoursLabel\": \"Stunden\",\n    \"ScheduleMeetingHoursValidationError\": \"Bitte geben Sie eine gültigen Stundenwert an\",\n    \"ScheduleMeetingMinutesLabel\": \"Minuten\",\n    \"ScheduleMeetingMinutesValidationError\": \"Bitte geben Sie eine gültigen Minutenwert an\",\n    \"ScheduleMeetingDurationLabel\": \"Besprechungsdauer:\",\n  \n    \"ScheduleMeetingOkButtonText\": \"Zeitplan\",\n    \"ScheduleMeetingCancelButtonText\": \"Abbrechen\",\n    }\n});"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"DiscussNowCommand\": \"Discuss Now\",\n    \n    \"DiscussNowDialogTitle\": \"Discuss Now\",\n    \"DiscussNowDialogDescription\": \"Provide a subject, date, and duration for a meeting to discuss about the currently selected document\",\n    \n    \"ScheduleMeetingSubjectLabel\": \"Meeting Subject:\",\n    \"ScheduleMeetingSubjectValidationErrorMessage\": \"Provide a subject text longer than 10 characters.\",\n    \"ScheduleMeetingDateLabel\": \"Meeting Date:\",\n    \"ScheduleMeetingHoursLabel\": \"Hours\",\n    \"ScheduleMeetingHoursValidationError\": \"Please provide a valid hours value\",\n    \"ScheduleMeetingMinutesLabel\": \"Minutes\",\n    \"ScheduleMeetingMinutesValidationError\": \"Please provide a valid minutes value\",\n    \"ScheduleMeetingDurationLabel\": \"Meeting Duration:\",\n  \n    \"ScheduleMeetingOkButtonText\": \"Schedule\",\n    \"ScheduleMeetingCancelButtonText\": \"Cancel\",\n    }\n});"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"DiscussNowCommand\": \"Discutir ahora\",\n    \n    \"DiscussNowDialogTitle\": \"Discutir ahora\",\n    \"DiscussNowDialogDescription\": \"Capture un tema, fecha y duracion para discutirlo en la reunionacerca del documento seleccionado\",\n    \n    \"ScheduleMeetingSubjectLabel\": \"Título de la reunion:\",\n    \"ScheduleMeetingSubjectValidationErrorMessage\": \"Capture un titulo de la reunion mayor a 10 caracteres.\",\n    \"ScheduleMeetingDateLabel\": \"Fecha de la reunion:\",\n    \"ScheduleMeetingHoursLabel\": \"Horas\",\n    \"ScheduleMeetingHoursValidationError\": \"Favor de capturar hora validas\",\n    \"ScheduleMeetingMinutesLabel\": \"Minutos\",\n    \"ScheduleMeetingMinutesValidationError\": \"Favor de capturar minutos validos\",\n    \"ScheduleMeetingDurationLabel\": \"Duracion de la reunion:\",\n  \n    \"ScheduleMeetingOkButtonText\": \"Agenda\",\n    \"ScheduleMeetingCancelButtonText\": \"Cancelar\",\n    }\n});\n"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"DiscussNowCommand\": \"Discuter maintenant\",\n    \n    \"DiscussNowDialogTitle\": \"Discuter maintenant\",\n    \"DiscussNowDialogDescription\": \"Fournir un sujet, une date et une durée pour une réunion afin de discuter du document actuellement sélectionné\",\n    \n    \"ScheduleMeetingSubjectLabel\": \"Sujet de la réunion:\",\n    \"ScheduleMeetingSubjectValidationErrorMessage\": \"Fournissez un texte sujet de plus de 10 caractères.\",\n    \"ScheduleMeetingDateLabel\": \"Date de réunion:\",\n    \"ScheduleMeetingHoursLabel\": \"Heures\",\n    \"ScheduleMeetingHoursValidationError\": \"Veuillez fournir une valeur d'heures valide\",\n    \"ScheduleMeetingMinutesLabel\": \"Minutes\",\n    \"ScheduleMeetingMinutesValidationError\": \"Veuillez fournir une valeur de minutes valide\",\n    \"ScheduleMeetingDurationLabel\": \"Durée de réunion:\",\n  \n    \"ScheduleMeetingOkButtonText\": \"Planifier\",\n    \"ScheduleMeetingCancelButtonText\": \"Annuler\",\n    }\n});"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/loc/myStrings.d.ts",
    "content": "declare interface IDiscussNowCommandSetStrings {\n  DiscussNowCommand: string;\n\n  DiscussNowDialogTitle: string;\n  DiscussNowDialogDescription: string;\n\n  ScheduleMeetingSubjectLabel: string;\n  ScheduleMeetingSubjectPlaceholder: string;\n  ScheduleMeetingSubjectValidationErrorMessage: string;\n  ScheduleMeetingDateLabel: string;\n  ScheduleMeetingHoursLabel: string;\n  ScheduleMeetingHoursValidationError: string;\n  ScheduleMeetingMinutesLabel: string;\n  ScheduleMeetingMinutesValidationError: string;\n  ScheduleMeetingDurationLabel: string;\n\n  ScheduleMeetingOkButtonText: string;\n  ScheduleMeetingCancelButtonText: string;\n}\n\ndeclare module 'DiscussNowCommandSetStrings' {\n  const strings: IDiscussNowCommandSetStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"DiscussNowCommand\": \"Diskuter nå\",\n\n    \"DiscussNowDialogTitle\": \"Diskuter nå\",\n    \"DiscussNowDialogDescription\": \"Angi et tema, dato og varighet for møtet for å diskutere det valgte dokumentet\",\n\n    \"ScheduleMeetingSubjectLabel\": \"Møtetema:\",\n    \"ScheduleMeetingSubjectValidationErrorMessage\": \"Benytt mer enn 10 tegn for team.\",\n    \"ScheduleMeetingDateLabel\": \"Møtedato:\",\n    \"ScheduleMeetingHoursLabel\": \"Timer\",\n    \"ScheduleMeetingHoursValidationError\": \"Angi en gyldig verdi for timer\",\n    \"ScheduleMeetingMinutesLabel\": \"Minutter\",\n    \"ScheduleMeetingMinutesValidationError\": \"Angi en gyldig verdi for minutter\",\n    \"ScheduleMeetingDurationLabel\": \"Møteperiode:\",\n\n    \"ScheduleMeetingOkButtonText\": \"Planlegg\",\n    \"ScheduleMeetingCancelButtonText\": \"Avbryt\",\n    }\n});\n"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"DiscussNowCommand\": \"Discuss Now\",\n      \n      \"DiscussNowDialogTitle\": \"Bespreek nu\",\n      \"DiscussNowDialogDescription\": \"Geef een onderwerp, datum en lengte van een meeting op om het geselecteerde document te bespreken\",\n      \n      \"ScheduleMeetingSubjectLabel\": \"Meeting onderwerp:\",\n      \"ScheduleMeetingSubjectValidationErrorMessage\": \"Geef een onderwerp tekst op van langer dan 10 tekens.\",\n      \"ScheduleMeetingDateLabel\": \"Meeting datum:\",\n      \"ScheduleMeetingHoursLabel\": \"Uur\",\n      \"ScheduleMeetingHoursValidationError\": \"Geef een valide uur waarde op\",\n      \"ScheduleMeetingMinutesLabel\": \"Minuten\",\n      \"ScheduleMeetingMinutesValidationError\": \"Geef een valide minuten waarde op\",\n      \"ScheduleMeetingDurationLabel\": \"Meeting lengte:\",\n    \n      \"ScheduleMeetingOkButtonText\": \"Plan\",\n      \"ScheduleMeetingCancelButtonText\": \"Annuleer\",\n      }\n  });\n"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"DiscussNowCommand\": \"Diskutera Nu\",\n    \n    \"DiscussNowDialogTitle\": \"Diskutera Nu\",\n    \"DiscussNowDialogDescription\": \"Ange ett ämne, datum och varaktighet för ett möte, för att diskutera det valda dokumentet\",\n    \n    \"ScheduleMeetingSubjectLabel\": \"Mötesämne:\",\n    \"ScheduleMeetingSubjectValidationErrorMessage\": \"Ange en ämnestext längre än 10 tecken.\",\n    \"ScheduleMeetingDateLabel\": \"Mötesdatum:\",\n    \"ScheduleMeetingHoursLabel\": \"Timmar\",\n    \"ScheduleMeetingHoursValidationError\": \"Ange ett giltigt värde för timmar\",\n    \"ScheduleMeetingMinutesLabel\": \"Minuter\",\n    \"ScheduleMeetingMinutesValidationError\": \"Ange ett giltigt värde för minuter\",\n    \"ScheduleMeetingDurationLabel\": \"Mötesperiod:\",\n  \n    \"ScheduleMeetingOkButtonText\": \"Schemalägg\",\n    \"ScheduleMeetingCancelButtonText\": \"Avbryt\",\n    }\n});"
  },
  {
    "path": "source/react-command-discuss-now/src/extensions/discussNow/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"DiscussNowCommand\": \"Şimdi Görüş\",\n    \n    \"DiscussNowDialogTitle\": \"Şimdi Görüş\",\n    \"DiscussNowDialogDescription\": \"Seçili belge hakkında görüşmek üzere bir toplantı için bir konu, tarih ve süre belirtin\",\n    \n    \"ScheduleMeetingSubjectLabel\": \"Toplantı Konusu:\",\n    \"ScheduleMeetingSubjectValidationErrorMessage\": \"10 karakterden daha uzun bir konu metni sağlayın.\",\n    \"ScheduleMeetingDateLabel\": \"Buluşma tarihi:\",\n    \"ScheduleMeetingHoursLabel\": \"Saat\",\n    \"ScheduleMeetingHoursValidationError\": \"Lütfen geçerli bir saat değeri belirtin\",\n    \"ScheduleMeetingMinutesLabel\": \"Dakika\",\n    \"ScheduleMeetingMinutesValidationError\": \"Lütfen geçerli bir dakika değeri belirtin\",\n    \"ScheduleMeetingDurationLabel\": \"Toplantı Süresi:\",\n  \n    \"ScheduleMeetingOkButtonText\": \"Zamanla\",\n    \"ScheduleMeetingCancelButtonText\": \"İptal\",\n    }\n});"
  },
  {
    "path": "source/react-command-discuss-now/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-command-discuss-now/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": false,\n    \"noUnusedLocals\": false,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}"
  },
  {
    "path": "source/react-followed-sites/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-followed-sites/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-followed-sites/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-followed-sites/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-followed-sites/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-followed-sites/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-followed-sites\",\n    \"libraryId\": \"c818b178-6ea2-4722-8c55-32fdf5cfcc9d\",\n    \"packageManager\": \"npm\",\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-followed-sites/README.md",
    "content": "# Followed Sites webpart\n\nThis web part provides you the ability to display a list of site administrator defined number of sites that a given user is following, with paging as well as inline filtering of sites by keyword or phrase. Currently the list of followed sites includes sites that returned by the SharePoint api endpoint: `/_api/social.following/my/followed(types=4)`\n\n> `NOTE:` This webpart includes the use of a custom SPFx library, [library-starter-kit-shared](../library-starter-kit-shared). If you need to rebuild / bundle / package this solution, refer to [Minimal Path to Awesome](#Minimal-Path-to-Awesome)\n\n![Follwed Sites](../../assets/images/components/part-followed-sites.gif)\n\n\n## Configurable Properties\n\nThe `Followed Sites` webpart can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Followed Sites | title | string | no | The webpart title, editable inline with the webpart itself |\n| Number of followed sites to retrieve | nrOfItems | number | no | The number of sites to show per page, default = 10 |\n| Specify the sort order of the retrieved sites | sortOrder | number | no | Preferred site sort order. Default sort order driven by SharePoint, or by site name |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\n* [library-starter-kit-shared](../library-starter-kit-shared) - this is provided by default in the solution. If you need to rebuild / bundle / package this solution, refer to [Minimal Path to Awesome](#Minimal-Path-to-Awesome)\n\n\n## Minimal Path to Awesome\n\nThis solution uses a SPFx library, [library-starter-kit-shared](../library-starter-kit-shared). As such, additional steps are required to rebuild this project.\n\n1. Clone this entire project\n2. Within the [library-starter-kit-shared](../library-starter-kit-shared) source, i.e. [./source/library-starter-kit-shared](../library-starter-kit-shared)\n  \n  ```powershell\n  npm install\n  gulp build\n  gulp bundle\n  npm link\n  ```\n\n3. Within this SPFx solution folder [react-followed-sites](./), i.e. [./source/react-followed-sites](../react-followed-sites)\n  * in the command line run:\n  \n  ```powershell\n  npm install\n  npm link @starter-kit/shared-library\n  ```\n\n4. Edit package.json found at the root of the [react-followed-sites](./), i.e. [./source/react-followed-sites/package.json](../react-followed-sites/package.json)\n\n  - Add a new dependancy to the project: \"@starter-kit/shared-library\": \"3.0.0\"\n\n  **Example**:\n\n  ```xml\n    \"dependencies\": {\n      \"@microsoft/sp-core-library\": \"1.16.1\",\n      ...\n      \"react\": \"17.0.1\",\n      \"react-dom\": \"17.0.1\"\n    }\n  ```\n\n  to:\n\n  ```xml\n    \"dependencies\": {\n      \"@microsoft/sp-core-library\": \"1.16.1\",\n      ...\n      \"react\": \"17.0.1\",\n      \"react-dom\": \"17.0.1\"\n      \"@starter-kit/shared-library\": \"3.0.0\"\n    }\n  ```\n\n5. Within this SPFx solution folder [react-followed-sites](./), i.e. [./source/react-followed-sites](../react-followed-sites)\n  \n  * in the command line run:\n  \n  ```powershell\n  gulp serve\n  ```\n\n6. To rebundle the webpart, within this SPFx solution folder [react-followed-sites](./), i.e. [./source/react-followed-sites](../react-followed-sites)\n  * in the command line run:\n  \n  ```powershell\n  gulp bundle\n  gulp package-solution\n  ```\n\n> If you add this webpart's sppkg to your app catalog, the sppkg for the [shared library](../library-starter-kit-shared) must also be installed. The [library](../library-starter-kit-shared) may be built, bundled, and packaged similar to a standard SPFx webpart or extension.\n\n> The package.json within this SPFx solution file must be manually updated for if the library dependency was included by default with the project, **npm install** would fail as the [library-starter-kit-shared](../library-starter-kit-shared) package would not be found. Linking the two projects allows this webpart to reference the library during **development**, while the package.json reference is required for **bundling and packaging**.\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-followed-sites | Elio Struyf\nreact-followed-sites | Beau Cameron\nreact-followed-sites | Chandani Prajapati\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May, 2018|Initial release\n2.0|November 29, 2019| v2.0\n3.0|February 2023| Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Using SharePoint APIs and spHttpClient within a web part\n* Using [SharePoint Framework library components](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/library-component-overview_)\n* Hosting SharePoint Framework components as Microsoft Teams tabs\n* Using app pages in SharePoint Online\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-followed-sites\" />\n"
  },
  {
    "path": "source/react-followed-sites/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"followed-sites-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/followedSites/FollowedSitesWebPart.js\",\n          \"manifest\": \"./src/webparts/followedSites/FollowedSitesWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/react-followed-sites/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-followed-sites\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-followed-sites/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Followed Sites\",\n    \"id\": \"c818b178-6ea2-4722-8c55-32fdf5cfcc9d\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-followed-sites description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-followed-sites description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - Followed Sites Webpart Feature\",\n        \"description\": \"The feature that activates Followed Sites Webpart from the Starter Kit - Followed Sites solution.\",\n        \"id\": \"93c8302a-ab02-4a85-8cc2-184eb0e4e13d\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"93c8302a-ab02-4a85-8cc2-184eb0e4e13d\"\n        ]\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-followed-sites.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-followed-sites/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-followed-sites/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-followed-sites/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-followed-sites/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-followed-sites/package.json",
    "content": "{\n  \"name\": \"react-followed-sites\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"@pnp/spfx-property-controls\": \"3.11.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/FollowedSitesWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"93c8302a-ab02-4a85-8cc2-184eb0e4e13d\",\n  \"alias\": \"FollowedSitesWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n  \"supportedHosts\": [\"SharePointWebPart\",\"TeamsTab\", \"SharePointFullPage\", \"TeamsPersonalApp\"],\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"Followed Sites\" },\n    \"description\": { \"default\": \"Followed sites for user\" },\n    \"officeFabricIconFontName\": \"FavoriteStarFill\",\n    \"properties\": {\n      \"title\": \"Followed Sites\",\n      \"sortOrder\": 2,\n      \"nrOfItems\": 10\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/FollowedSitesWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration, PropertyPaneDropdown } from \"@microsoft/sp-property-pane\";\nimport FollowedSites from './components/FollowedSites';\nimport { IFollowedSitesProps } from './components/IFollowedSitesProps';\n\nimport { SpStarterKitSharedLibrary, LocaleKeys } from '@starter-kit/shared-library';\n\nexport interface IFollowedSitesWebPartProps {\n  title: string;\n  nrOfItems: number;\n  sortOrder: number;\n}\n\nexport enum SortOrder {\n  default = 1,\n  name\n}\n\nexport default class FollowedSitesWebPart extends BaseClientSideWebPart<IFollowedSitesWebPartProps> {\n\n  private propertyFieldNumber : any;\n  public render(): void {\n\n    const element: React.ReactElement<IFollowedSitesProps> = React.createElement(\n      FollowedSites,\n      {\n        title: this.properties.title,\n        nrOfItems: this.properties.nrOfItems,\n        sortOrder: this.properties.sortOrder,\n        context: this.context,\n        displayMode: this.displayMode,\n        updateProperty: (value: string) => {\n          this.properties.title = value;\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected onDispose(): void {\n    ReactDom.unmountComponentAtNode(this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n  //executes only before property pane is loaded.\n  protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n\n    const { PropertyFieldNumber } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-number' */\n      '@pnp/spfx-property-controls/lib/propertyFields/number'\n    );\n\n    this.propertyFieldNumber = PropertyFieldNumber;\n  }\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: SpStarterKitSharedLibrary.getLocale(LocaleKeys.PropertyPaneDescription),\n          },\n          groups: [\n            {\n              groupFields: [\n                this.propertyFieldNumber(\"nrOfItems\", {\n                  key: \"nrOfItems\",\n                  label: SpStarterKitSharedLibrary.getLocale(LocaleKeys.NrOfFollowedItemsLabel),\n                  value: this.properties.nrOfItems\n                }),\n                PropertyPaneDropdown('sortOrder', {\n                  label: SpStarterKitSharedLibrary.getLocale(LocaleKeys.SortOrderFollowedItemsLabel),\n                  selectedKey: this.properties.sortOrder,\n                  options: [\n                    {\n                      key: SortOrder.default,\n                      text: SpStarterKitSharedLibrary.getLocale(LocaleKeys.SortOrderDefaultLabel)\n                    },\n                    {\n                      key: SortOrder.name,\n                      text: SpStarterKitSharedLibrary.getLocale(LocaleKeys.SortOrderNameLabel)\n                    }\n                  ]\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/FollowedSites.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.followedSites {\n  .list {\n    @include ms-Grid-row;\n\n    ul {\n      list-style: none;\n      margin: 0;\n      padding: 0;\n    }\n  }\n\n  .filter {\n    @include ms-Grid-col;\n    @include ms-sm12;\n    margin-bottom: 15px;\n  }\n\n  .site {\n    @include ms-Grid-col;\n    @include ms-sm12;\n\n    a {\n      display: block;\n      padding: 5px 12px;\n\n      &:hover {\n        background-color: $ms-color-neutralLighterAlt;\n      }\n    }\n  }\n\n  .noSites {\n    @include ms-font-m;\n  }\n\n  .error {\n    @include ms-font-m;\n    color: $ms-color-alert;\n  }\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/FollowedSites.tsx",
    "content": "import * as React from 'react';\nimport styles from './FollowedSites.module.scss';\nimport { SPHttpClientResponse, SPHttpClient } from '@microsoft/sp-http';\nimport { WebPartTitle } from \"@pnp/spfx-controls-react/lib/WebPartTitle\";\nimport { SortOrder } from '../FollowedSitesWebPart';\nimport { Link } from '@fluentui/react/lib/Link';\nimport { TextField } from '@fluentui/react/lib/TextField';\nimport { IFollowedSitesProps, IFollowedSitesState, IFollowedResult, IFollowed } from '.';\nimport { Paging } from './paging';\nimport { Spinner, SpinnerSize } from '@fluentui/react/lib//Spinner';\nimport { SpStarterKitSharedLibrary, LocaleKeys } from '@starter-kit/shared-library';\n\nexport default class FollowedSites extends React.Component<IFollowedSitesProps, IFollowedSitesState> {\n  private _allFollowing: IFollowedResult[] = [];\n\n  constructor(props: IFollowedSitesProps) {\n    super(props);\n\n    this.state = {\n      following: null,\n      allFollowing: [],\n      loading: true,\n      error: null\n    };\n  }\n\n  /**\n   * Retrieves all the current user its followed sites\n   */\n  private _fetchFollowedSites(): void {\n    this.setState({\n      loading: true,\n      error: null\n    });\n\n    // Types 4 === sites\n    const apiUrl = `${this.props.context.pageContext.web.absoluteUrl}/_api/social.following/my/followed(types=4)`;\n    this.props.context.spHttpClient.fetch(apiUrl, SPHttpClient.configurations.v1, {\n      method: \"GET\"\n    })\n    .then((data: SPHttpClientResponse) => data.json())\n    .then((data: IFollowed) => {\n      // Check if data was retrieved\n      if (data && data.value) {\n        let fSites = data.value;\n        // Check if items need to be sorted by their name\n        if (this.props.sortOrder && this.props.sortOrder === SortOrder.name) {\n          fSites = fSites.sort(this._sortByName);\n        } else {\n          // Last added item is last in the list, so we use reverse to turn it around\n          fSites = data.value.reverse();\n        }\n\n        // Locally store the followed site results\n        this._allFollowing = [...fSites];\n\n        // Pass sites to trigger state update\n        this._updateFollowingSites(fSites);\n      }\n\n      // Check if an error occured\n      if (data && data.error) {\n        // Error occured while fetching personal sites\n        this.setState({\n          loading: false,\n          error: SpStarterKitSharedLibrary.getLocale(LocaleKeys.SitesLoadingError)\n        });\n      }\n    })\n    .catch((err) => {\n      this.setState({\n        loading: false,\n        error: SpStarterKitSharedLibrary.getLocale(LocaleKeys.SitesLoadingError)\n      });\n    });\n  }\n\n  /**\n   * Updates the current following site state\n   */\n  private _updateFollowingSites = (fSites: IFollowedResult[]): void => {\n    const allSites = [...fSites];\n    // Check if the array has to be limited\n    if (this.props.nrOfItems) {\n      fSites = fSites.slice(0, this.props.nrOfItems);\n    }\n\n    this.setState({\n      following: fSites,\n      allFollowing: allSites,\n      loading: false\n    });\n  }\n\n  /**\n   * Sort array by their name\n   * @param a First item\n   * @param b Second item\n   */\n  private _sortByName(a: IFollowedResult, b: IFollowedResult): number {\n    if(a.Name.toLowerCase() < b.Name.toLowerCase()) return -1;\n    if(a.Name.toLowerCase() > b.Name.toLowerCase()) return 1;\n    return 0;\n  }\n\n  /**\n   * Update the current site results array\n   */\n  private _updatePagedItems = (pagedItems: IFollowedResult[]): void => {\n    if (pagedItems) {\n      this.setState({\n        following: pagedItems\n      });\n    }\n  }\n\n  private _onFilterChanged = (event: React.FormEvent<HTMLElement>, val?: string) => {\n    // Check if a value was provided\n    if (val) {\n      const allSites = [...this._allFollowing];\n      const filteredItems = allSites.filter(f => f.Name.toLowerCase().indexOf(val.toLowerCase()) !== -1);\n      this._updateFollowingSites(filteredItems);\n    } else {\n      this._updateFollowingSites(this._allFollowing);\n    }\n  }\n\n  /**\n   * componentDidMount lifecycle hook\n   */\n  public componentDidMount(): void {\n    this._fetchFollowedSites();\n  }\n\n  /**\n   * componentDidUpdate lifecycle hook\n   * @param prevProps\n   * @param prevState\n   */\n  public componentDidUpdate(prevProps: IFollowedSitesProps, prevState: IFollowedSitesState): void {\n    if (this.props.nrOfItems !== prevProps.nrOfItems ||\n        this.props.sortOrder !== prevProps.sortOrder) {\n      this._fetchFollowedSites();\n    }\n  }\n\n  /**\n   * Default React render method\n   */\n  public render(): React.ReactElement<IFollowedSitesProps> {\n    return (\n      <div className={styles.followedSites}>\n        <WebPartTitle displayMode={this.props.displayMode}\n                      title={this.props.title}\n                      updateProperty={this.props.updateProperty} />\n\n        {\n          this.state.loading && (\n            <Spinner label={SpStarterKitSharedLibrary.getLocale(LocaleKeys.SitesLoading)} size={SpinnerSize.large} />\n          )\n        }\n\n        {\n          this.state.following ? (\n            <div className={styles.list}>\n              <div className={styles.filter}>\n                <TextField placeholder={SpStarterKitSharedLibrary.getLocale(LocaleKeys.SitesFilterLabel)}\n                           iconProps={{ iconName: 'Filter' }}\n                           underlined\n                           onChange={this._onFilterChanged} />\n              </div>\n\n              <ul>\n                {\n                  this.state.following.length > 0 ? (\n                    this.state.following.map(follow => (\n                      <li key={follow.Id} className={styles.site}>\n                        <Link href={follow.Uri} title={follow.Name}>{follow.Name}</Link>\n                      </li>\n                    ))\n                  ) : (\n                    <li className={styles.site}>{SpStarterKitSharedLibrary.getLocale(LocaleKeys.NoFollowSitesFoundMsg)}</li>\n                  )\n                }\n              </ul>\n\n              <Paging allItems={this.state.allFollowing}\n                      nrOfItems={this.props.nrOfItems}\n                      fUpdateItems={this._updatePagedItems} />\n            </div>\n          ) : (\n            !this.state.loading && (\n              this.state.error ?\n                <span className={styles.error}>{this.state.error}</span> :\n                <span className={styles.noSites}>{SpStarterKitSharedLibrary.getLocale(LocaleKeys.NoFollowedSitesMsg)}</span>\n            )\n          )\n        }\n      </div>\n    );\n  }\n}\n\n\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/IFollowedResult.ts",
    "content": "export interface IFollowed {\n  '@odata.context': string;\n  error?: IErrorMessage;\n  value: IFollowedResult[];\n}\n\nexport interface IFollowedResult {\n  AccountName?: any;\n  ActorType: number;\n  CanFollow: boolean;\n  ContentUri: string;\n  EmailAddress?: any;\n  FollowedContentUri?: any;\n  Id: string;\n  ImageUri?: any;\n  IsFollowed: boolean;\n  LibraryUri?: any;\n  Name: string;\n  PersonalSiteUri?: any;\n  Status: number;\n  StatusText?: any;\n  TagGuid: string;\n  Title?: any;\n  Uri: string;\n}\n\nexport interface IErrorMessage {\n  code: string;\n  message: string;\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/IFollowedSitesProps.ts",
    "content": "import { WebPartContext } from \"@microsoft/sp-webpart-base\";\nimport { DisplayMode } from \"@microsoft/sp-core-library\";\nimport { IFollowedSitesWebPartProps } from \"../FollowedSitesWebPart\";\n\nexport interface IFollowedSitesProps extends IFollowedSitesWebPartProps {\n  displayMode: DisplayMode;\n  updateProperty: (value: string) => void;\n  context: WebPartContext;\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/IFollowedSitesState.ts",
    "content": "import { IFollowedResult } from \"./IFollowedResult\";\n\nexport interface IFollowedSitesState {\n  following: IFollowedResult[];\n  allFollowing: IFollowedResult[];\n  loading: boolean;\n  error: string;\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/index.ts",
    "content": "export * from './FollowedSites';\nexport * from './IFollowedResult';\nexport * from './IFollowedSitesProps';\nexport * from './IFollowedSitesState';\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/paging/IPagingProps.ts",
    "content": "import { IFollowedResult } from \"..\";\n\nexport interface IPagingProps {\n  allItems: IFollowedResult[];\n  nrOfItems: number;\n\n  fUpdateItems: (pagedItems: IFollowedResult[]) => void;\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/paging/IPagingState.ts",
    "content": "export interface IPagingState {\n  crntPage: number;\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/paging/Paging.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.paging {\n  text-align: center;\n\n  button {\n    padding: 0 5px;\n    margin: 15px 5px;\n    min-width: auto;\n  }\n}\n\n.pagingNrLabels {\n  display: inline-block;\n  line-height: 32px;\n  margin: 15px 5px;\n  text-align: center;\n  min-width: 55px;\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/paging/Paging.tsx",
    "content": "import * as React from 'react';\nimport styles from './Paging.module.scss';\nimport { DefaultButton } from '@fluentui/react/lib//Button';\nimport { Icon } from '@fluentui/react/lib//Icon';\nimport { IPagingProps, IPagingState } from '.';\n\nexport class Paging extends React.Component<IPagingProps, IPagingState> {\n  constructor(props: IPagingProps) {\n    super(props);\n\n    this.state = {\n      crntPage: 0\n    };\n  }\n\n  /**\n   * Load the previous page\n   */\n  private _prevPage = (): void => {\n    let { crntPage } = this.state;\n    if (crntPage > 0) {\n      crntPage--;\n      // Update the current page\n      this.setState({\n        crntPage\n      });\n      // Update elements to render\n      this._triggerUpdate(crntPage);\n    }\n  }\n\n  /**\n   * Load the previous page\n   */\n  private _nextPage = (): void => {\n    let { crntPage } = this.state;\n    if ((this.props.nrOfItems*(this.state.crntPage)) < this.props.allItems.length) {\n      crntPage++;\n      // Update the current page\n      this.setState({\n        crntPage\n      });\n      // Update elements to render\n      this._triggerUpdate(crntPage);\n    }\n  }\n\n  /**\n   * Triggers the update function with the new batch of items\n   */\n  private _triggerUpdate = (pageNr: number): void => {\n    let allItems = [...this.props.allItems];\n    // Pass the next batch of items to render to the parent component\n    this.props.fUpdateItems(allItems.splice((pageNr * this.props.nrOfItems), this.props.nrOfItems));\n  }\n\n  /**\n   * componentWillReceiveProps lifecycle hook\n   * @param nextProps\n   */\n  public componentWillReceiveProps(nextProps: IPagingProps): void {\n    // Check if items were filtered\n    if (this.props.allItems.length !== nextProps.allItems.length) {\n      this.setState({\n        crntPage: 0\n      });\n    }\n  }\n\n  /**\n   * Default React render method\n   */\n  public render(): React.ReactElement<IPagingProps> {\n    if (this.props.nrOfItems && this.props.allItems && this.props.allItems.length > this.props.nrOfItems) {\n      return (\n        <div className={styles.paging}>\n          <DefaultButton onClick={this._prevPage}\n                         disabled={this.state.crntPage <= 0}>\n            <Icon iconName=\"ChevronLeft\" />\n          </DefaultButton>\n\n          <span className={styles.pagingNrLabels}>\n            {this.state.crntPage + 1}/{Math.ceil(this.props.allItems.length/this.props.nrOfItems)}\n          </span>\n\n          <DefaultButton onClick={this._nextPage}\n                         disabled={(this.props.nrOfItems*(this.state.crntPage+1)) >= this.props.allItems.length}>\n            <Icon iconName=\"ChevronRight\" />\n          </DefaultButton>\n        </div>\n      );\n    }\n\n    return null;\n  }\n}\n"
  },
  {
    "path": "source/react-followed-sites/src/webparts/followedSites/components/paging/index.ts",
    "content": "export * from './IPagingProps';\nexport * from './IPagingState';\nexport * from './Paging';\n"
  },
  {
    "path": "source/react-followed-sites/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-links/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-links/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          1,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // react/no-deprecated\n        // ====================================================================\n        'react/no-deprecated': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-links/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-links/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-links/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-links/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-links/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-links\",\n    \"libraryId\": \"941e9447-0430-498e-b380-a154b73983fe\",\n    \"packageManager\": \"npm\",\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-links/README.md",
    "content": "# Links webpart\n\nThis web part provides you the ability to add a per instance listing of links with the ability to group sets of links. Links are stored as a collection of links within the web part's properties, removing the need for link storage within SharePoint lists, tenant properties, or other external link storage requirements.\n\nLinks and groups are both customizable.\n\nIcons are from Fluent UI Icons, those icons that should be available within at least Fluent UI version 7.3.\n\nView [Fluent UI Icons](https://developer.microsoft.com/en-us/fluentui#/styles/web/icons) for icon names.\n\n![Links](../../assets/images/components/part-links.gif)\n\n## Configurable Properties\n\nThe `Links` webpart can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Useful links | title | string | no | The webpart title, editable inline with the webpart itself |\n| Group names for the links | groupData | collection | no | Collection of group names for grouping links into sets |\n| Link data | collectionData | collection | no | Collection of links |\n\n### groupData Collection Properties\n\nConfigurable properties for each collection row within the `groupData` collection:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Title | title | string | yes | The name of a group |\n\n### collectionData Collection Properties\n\nConfigurable properties for each collection row within the `collectionData` collection:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Title | title | string | yes | The text / title of the link |\n| URL | url | string | yes | The link url |\n| UI Fabric icon name | icon | fabricIcon | no | Optional UI Fabric icon name |\n| Group name | group | dropdown | no | Optional name of the group to add this link to |\n| Target | target | dropdown | no | Optional target for this link, current or new window |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nnone\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-links V1 | Elio Struyf (@estruyf)\nreact-links V2 | Fabio Franzini (@fabiofranzini)\nreact-links V3 | Chandani Prajapati (@Chandani_SPD)\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 18th, 2018|Initial release (extract web part from Starter Kit v1)\n2.0|January 24, 2020|Initial release (extract web part from Starter Kit v1)\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* PnP property control usage\n* Fluent UI React controls\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-links\" />\n"
  },
  {
    "path": "source/react-links/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"links-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/links/LinksWebPart.js\",\n          \"manifest\": \"./src/webparts/links/LinksWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"LinksWebPartStrings\": \"lib/webparts/links/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-links/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-links\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-links/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - React Links\",\n    \"id\": \"941e9447-0430-498e-b380-a154b73983fe\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-links description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-links description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - React Links WebPart Feature\",\n        \"description\": \"The feature that activates React Links Webpart from the Starter Kit - React Links solution.\",\n        \"id\": \"659e9e2c-9656-4ce1-9f80-7d13a0574d7a\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"659e9e2c-9656-4ce1-9f80-7d13a0574d7a\"\n        ]\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-links.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-links/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-links/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-links/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-links/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-links/package.json",
    "content": "{\n  \"name\": \"react-links\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"@pnp/spfx-property-controls\": \"3.11.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-links/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-links/src/webparts/links/ILink.ts",
    "content": "export interface ILink {\n  title: string;\n  url: string;\n  icon: string;\n  group: string;\n  target: LinkTarget;\n}\n\nexport interface IGroupData {\n  title: string;\n}\n\nexport enum LinkTarget {\n  parent = '',\n  blank = '_blank'\n}\n"
  },
  {
    "path": "source/react-links/src/webparts/links/LinksWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"659e9e2c-9656-4ce1-9f80-7d13a0574d7a\",\n  \"alias\": \"LinksWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n  \"supportedHosts\": [\"SharePointWebPart\", \"TeamsPersonalApp\", \"TeamsTab\", \"SharePointFullPage\"],\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"Links\" },\n    \"description\": { \"default\": \"List of links based on collection control configured in the web part properties\" },\n    \"officeFabricIconFontName\": \"Link\",\n    \"properties\": {\n      \"title\": \"Links\"\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-links/src/webparts/links/LinksWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration } from \"@microsoft/sp-property-pane\";\n\nimport * as strings from 'LinksWebPartStrings';\nimport Links from './components/Links';\nimport { ILinksProps } from './components/ILinksProps';\nimport { ILink, LinkTarget, IGroupData } from './ILink';\n\nexport interface ILinksWebPartProps {\n  collectionData: ILink[];\n  groupData: IGroupData[];\n  title: string;\n}\n\nexport default class LinksWebPart extends BaseClientSideWebPart<ILinksWebPartProps> {\n\n  // Just for suppress the tslint validation of dinamically loading of this field by using loadPropertyPaneResources()\n  // tslint:disable-next-line: no-any\n  private propertyFieldCollectionData: any;\n  // Just for suppress the tslint validation of dinamically loading of this field by using loadPropertyPaneResources()\n  // tslint:disable-next-line: no-any\n  private customCollectionFieldType: any;\n\n  public render(): void {\n    const element: React.ReactElement<ILinksProps> = React.createElement(\n      Links,\n      {\n        collectionData: this.properties.collectionData,\n        title: this.properties.title,\n        displayMode: this.displayMode,\n        fUpdateProperty: (value: string) => {\n          this.properties.title = value;\n        },\n        fPropertyPaneOpen: this.context.propertyPane.open\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  // executes only before property pane is loaded.\n  protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n    const { PropertyFieldCollectionData, CustomCollectionFieldType } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-colldata' */\n      '@pnp/spfx-property-controls/lib/PropertyFieldCollectionData'\n    );\n\n    this.propertyFieldCollectionData = PropertyFieldCollectionData;\n    this.customCollectionFieldType = CustomCollectionFieldType;\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    let groups: { key: string, text: string }[] = [];\n    if (this.properties.groupData && this.properties.groupData.length > 0) {\n      groups = this.properties.groupData.map((group: IGroupData) => ({ key: group.title, text: group.title }));\n    }\n\n    return {\n      pages: [\n        {\n          groups: [\n            {\n              groupFields: [\n                this.propertyFieldCollectionData('groupData', {\n                  key: 'groupData',\n                  label: strings.groupDataLabel,\n                  panelHeader: strings.groupPanelHeader,\n                  manageBtnLabel: strings.manageGroupBtn,\n                  value: this.properties.groupData,\n                  fields: [\n                    {\n                      id: 'title',\n                      title: strings.titleField,\n                      type: this.customCollectionFieldType.string,\n                      required: true\n                    }\n                  ]\n                }),\n                this.propertyFieldCollectionData('collectionData', {\n                  key: 'collectionData',\n                  label: strings.linkDataLabel,\n                  panelHeader: strings.linkPanelHeader,\n                  // tslint:disable-next-line:max-line-length\n                  panelDescription: `${strings.iconInformation} https://developer.microsoft.com/en-us/fabric#/styles/icons`,\n                  manageBtnLabel: strings.manageLinksBtn,\n                  value: this.properties.collectionData,\n                  fields: [\n                    {\n                      id: 'title',\n                      title: strings.titleField,\n                      type: this.customCollectionFieldType.string,\n                      required: true\n                    },\n                    {\n                      id: 'url',\n                      title: strings.urlField,\n                      type: this.customCollectionFieldType.string,\n                      required: true\n                    },\n                    {\n                      id: 'icon',\n                      title: strings.iconField,\n                      type: this.customCollectionFieldType.fabricIcon\n                    },\n                    {\n                      id: 'group',\n                      title: strings.groupField,\n                      type: this.customCollectionFieldType.dropdown,\n                      options: [\n                        {\n                          key: undefined,\n                          text: ''\n                        },\n                        ...groups\n                      ]\n                    },\n                    {\n                      id: 'target',\n                      title: strings.targetField,\n                      type: this.customCollectionFieldType.dropdown,\n                      options: [\n                        {\n                          key: LinkTarget.parent,\n                          text: strings.targetCurrent\n                        },\n                        {\n                          key: LinkTarget.blank,\n                          text: strings.targetNew\n                        }\n                      ]\n                    }\n                  ]\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n}\n"
  },
  {
    "path": "source/react-links/src/webparts/links/components/ILinksProps.ts",
    "content": "import { DisplayMode } from '@microsoft/sp-core-library';\nimport { ILink } from '../ILink';\n\nexport interface ILinksProps {\n  collectionData: ILink[];\n  displayMode: DisplayMode;\n  title: string;\n\n  fUpdateProperty: (value: string) => void;\n  fPropertyPaneOpen: () => void;\n}\n"
  },
  {
    "path": "source/react-links/src/webparts/links/components/ILinksState.ts",
    "content": "import { ILink } from '../ILink';\n\nexport interface ILinksState {\n  groups: { [group: string]: ILink[]; };\n}\n"
  },
  {
    "path": "source/react-links/src/webparts/links/components/Links.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.links {\n  .row {\n    @include ms-Grid-row;\n  }\n\n  .column {\n    @include ms-Grid-col;\n    @include ms-sm12;\n  }\n\n  .groupName {\n    @include ms-font-l;\n    @include ms-fontSize-l;\n    margin: 10px 0 5px;\n  }\n\n  .link {\n    margin: 2px;\n  }\n\n  .icon {\n    margin-right: 10px;\n  }\n}\n"
  },
  {
    "path": "source/react-links/src/webparts/links/components/Links.tsx",
    "content": "import * as React from 'react';\nimport styles from './Links.module.scss';\nimport * as strings from 'LinksWebPartStrings';\nimport { ILinksProps } from './ILinksProps';\nimport { ILinksState } from './ILinksState';\nimport { groupBy, toPairs, sortBy, fromPairs } from '@microsoft/sp-lodash-subset';\nimport { Link } from '@fluentui/react/lib/Link';\nimport { WebPartTitle } from '@pnp/spfx-controls-react/lib/WebPartTitle';\nimport { Placeholder } from '@pnp/spfx-controls-react/lib/Placeholder';\nimport { Icon } from '@fluentui/react/lib/Icon';\nimport { ILink } from '../ILink';\n\nconst NO_GROUP_NAME: string = '..NOGROUPNAME..';\n\nexport default class Links extends React.Component<ILinksProps, ILinksState> {\n\n  constructor(props: ILinksProps) {\n    super(props);\n\n    this.state = {\n      groups: undefined\n    };\n  }\n\n  /**\n   * componentWillMount lifecycle hook\n   */\n  public componentWillMount(): void {\n    this._processLinks();\n  }\n\n  /**\n   * componentDidUpdate lifecycle hook\n   * @param prevProps\n   * @param prevState\n   */\n  public componentDidUpdate(prevProps: ILinksProps, prevState: ILinksState): void {\n    if (prevProps.collectionData !== this.props.collectionData) {\n      this._processLinks();\n    }\n  }\n\n  /**\n   * Default React render method\n   */\n  public render(): React.ReactElement<ILinksProps> {\n    // Get all group names\n    const groupNames: string[] = this.state.groups ? Object.keys(this.state.groups) : undefined;\n\n    return (\n      <div className={styles.links}>\n        <WebPartTitle displayMode={this.props.displayMode}\n          title={this.props.title}\n          updateProperty={this.props.fUpdateProperty} />\n        {\n          (groupNames && groupNames.length > 0) ? (\n            <div className={styles.row}>\n              {\n                groupNames.map((groupName, index) => (\n                  <div key={index}>\n                    {\n                      // Do not show a header for the empty group\n                      groupName !== NO_GROUP_NAME && (\n                        <div className={`${styles.column} ${styles.groupName}`}>\n                          <span>{groupName}</span>\n                        </div>\n                      )\n                    }\n                    {\n                      // Loop over all links per group\n                      sortBy(this.state.groups[groupName], (link: { title: string; }) => link.title.toLowerCase()).map((link: { title: string; url: string; target: string; icon: string; }, index: React.Key) => (\n                        <div key={index} className={`${styles.column} ${styles.link}`}>\n                          <Link title={link.title} href={link.url} target={link.target}>\n                            {\n                              link.icon && <Icon className={styles.icon} iconName={link.icon} />\n                            }\n                            {link.title}\n                          </Link>\n                        </div>\n                      ))\n                    }\n                  </div>\n                ))\n              }\n            </div>\n          ) : (\n              <Placeholder\n                iconName='Edit'\n                iconText={strings.noLinksIconText}\n                description={strings.noLinksConfigured}\n                buttonLabel={strings.noLinksBtn}\n                onConfigure={this.props.fPropertyPaneOpen} />\n            )\n        }\n      </div>\n    );\n  }\n\n  /**\n   * Process all links from the collection data\n   */\n  private _processLinks(): void {\n    const { collectionData } = this.props;\n    if (collectionData && collectionData.length > 0) {\n      // Group by the group name\n      let groups: _.Dictionary<ILink[]> = groupBy(collectionData, link => link.group ? link.group : NO_GROUP_NAME);\n      // Sort the group by the property name\n      groups = fromPairs(sortBy(toPairs(groups), 0));\n      this.setState({\n        groups\n      });\n    } else {\n      this.setState({\n        groups: undefined\n      });\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-links/src/webparts/links/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"groupDataLabel\": \"Gruppenname für die Links\",\n    \"groupPanelHeader\": \"Konfigurieren Sie Ihre Gruppennamen\",\n    \"manageGroupBtn\": \"Konfiguriere Gruppen\",\n    \"iconInformation\": \"Die Namen zum angeben des Icon Feldes können unter der folgenden URL gefunden werden:\",\n\n    \"linkDataLabel\": \"Linkdaten\",\n    \"linkPanelHeader\": \"Ihre Links konfigurieren\",\n    \"manageLinksBtn\": \"Links konfigurieren\",\n\n    \"titleField\": \"Title\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric icon name\",\n    \"groupField\": \"Gruppenname\",\n    \"targetField\": \"Fensterverhalten\",\n\n    \"targetCurrent\": \"Aktuelles Fenster\",\n    \"targetNew\": \"Neuer Tab\",\n\n    \"noLinksIconText\": \"Ihre Links konfigurieren\",\n    \"noLinksConfigured\": \"Bitte konfigurieren Sie den Web Part um Links anzuzeigen.\",\n    \"noLinksBtn\": \"Konfigurieren\",\n  }\n});\n"
  },
  {
    "path": "source/react-links/src/webparts/links/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"groupDataLabel\": \"Group names for the links\",\n    \"groupPanelHeader\": \"Configure your group names\",\n    \"manageGroupBtn\": \"Configure groups\",\n    \"iconInformation\": \"The names to specify for the icon field can be found on the following URL:\",\n\n    \"linkDataLabel\": \"Link data\",\n    \"linkPanelHeader\": \"Configure your links\",\n    \"manageLinksBtn\": \"Configure links\",\n\n    \"titleField\": \"Title\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric icon name\",\n    \"groupField\": \"Group name\",\n    \"targetField\": \"Target\",\n\n    \"targetCurrent\": \"Current window\",\n    \"targetNew\": \"New tab\",\n\n    \"noLinksIconText\": \"Configure your links\",\n    \"noLinksConfigured\": \"Please configure the web part in order to show links\",\n    \"noLinksBtn\": \"Configure\",\n  }\n});\n"
  },
  {
    "path": "source/react-links/src/webparts/links/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"groupDataLabel\": \"Nombres de grupos para los enlaces\",\n    \"groupPanelHeader\": \"Configure los nombres de los grupos\",\n    \"manageGroupBtn\": \"Configure grupos\",\n    \"iconInformation\": \"Los nombres a especificar para el campo Icono puede encontrarse en la siguiente dirección URL:\",\n\n    \"linkDataLabel\": \"Enlace datos\",\n    \"linkPanelHeader\": \"Configure sus enlaces\",\n    \"manageLinksBtn\": \"Configure enlaces\",\n\n    \"titleField\": \"Título\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"Nombre de Icono de UI Fabric\",\n    \"groupField\": \"Nombre del grupo\",\n    \"targetField\": \"Destino\",\n\n    \"targetCurrent\": \"Ventana actual\",\n    \"targetNew\": \"Nueva ventana\",\n\n    \"noLinksIconText\": \"Configure sus enlaces\",\n    \"noLinksConfigured\": \"Favor de configurar el elemento web a fin de mostrar enlaces\",\n    \"noLinksBtn\": \"Configuración\",\n  }\n});\n"
  },
  {
    "path": "source/react-links/src/webparts/links/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"groupDataLabel\": \"Noms de groupe pour les liens\",\n    \"groupPanelHeader\": \"Configurez vos noms de groupe\",\n    \"manageGroupBtn\": \"Configurez des groupes\",\n    \"iconInformation\": \"Les noms à spécifier pour le champ d'icône se trouvent à l'URL suivant:\",\n\n    \"linkDataLabel\": \"Données de lien\",\n    \"linkPanelHeader\": \"Configurez vos liens\",\n    \"manageLinksBtn\": \"Configurez vos liens\",\n\n    \"titleField\": \"Titre\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"Nom de l'icône d'UI Fabric\",\n    \"groupField\": \"Nom de groupe\",\n    \"targetField\": \"Cible\",\n\n    \"targetCurrent\": \"Fenêtre actuelle\",\n    \"targetNew\": \"Nouvel onglet\",\n\n    \"noLinksIconText\": \"Configurez tes liens\",\n    \"noLinksConfigured\": \"Veuillez configurer la partie Web pour afficher les liens.\",\n    \"noLinksBtn\": \"Configurer\",\n  }\n});\n"
  },
  {
    "path": "source/react-links/src/webparts/links/loc/mystrings.d.ts",
    "content": "declare interface ILinksWebPartStrings {\n  groupDataLabel: string;\n  groupPanelHeader: string;\n  manageGroupBtn: string;\n  iconInformation: string;\n\n  linkDataLabel: string;\n  linkPanelHeader: string;\n  manageLinksBtn: string;\n\n  titleField: string;\n  urlField: string;\n  iconField: string;\n  groupField: string;\n  targetField: string;\n\n  targetCurrent: string;\n  targetNew: string;\n\n  noLinksIconText: string;\n  noLinksConfigured: string;\n  noLinksBtn: string;\n}\n\ndeclare module 'LinksWebPartStrings' {\n  const strings: ILinksWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-links/src/webparts/links/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"groupDataLabel\": \"Gruppenavn til lenkene\",\n    \"groupPanelHeader\": \"Konfigurer gruppenavn\",\n    \"manageGroupBtn\": \"Konfigurer grupper\",\n    \"iconInformation\": \"Navnene som skal angis i ikonfeltet ligger på følgende URL:\",\n\n    \"linkDataLabel\": \"Lenkedata\",\n    \"linkPanelHeader\": \"Konfigurer lenkene\",\n    \"manageLinksBtn\": \"Konfigurer lenker\",\n\n    \"titleField\": \"Tittel\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric ikon navn\",\n    \"groupField\": \"Gruppenavn\",\n    \"targetField\": \"Mål\",\n\n    \"targetCurrent\": \"Gjeldende vindu\",\n    \"targetNew\": \"Nytt vindu\",\n\n    \"noLinksIconText\": \"Konfigurer dine lenker\",\n    \"noLinksConfigured\": \"Konfigurer webdelen for å vise lenker\",\n    \"noLinksBtn\": \"Konfigurer\",\n  }\n});\n"
  },
  {
    "path": "source/react-links/src/webparts/links/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"groupDataLabel\": \"Groepnamen voor de links\",\n      \"groupPanelHeader\": \"Configureer je groepnamen\",\n      \"manageGroupBtn\": \"Configureer groepen\",\n      \"iconInformation\": \"De icoonnamen kan je vinden via de volgende URL:\",\n  \n      \"linkDataLabel\": \"Link data\",\n      \"linkPanelHeader\": \"Configureer je links\",\n      \"manageLinksBtn\": \"Configureer links\",\n  \n      \"titleField\": \"Titel\",\n      \"urlField\": \"URL\",\n      \"iconField\": \"UI Fabric icoonnaam\",\n      \"groupField\": \"Groupnaam\",\n      \"targetField\": \"Doel\",\n  \n      \"targetCurrent\": \"Huidig venster\",\n      \"targetNew\": \"Nieuw tabblad\",\n  \n      \"noLinksIconText\": \"Configureer je links\",\n      \"noLinksConfigured\": \"Configureer het webpart om links te tonen\",\n      \"noLinksBtn\": \"Configureer\",\n    }\n  });\n  "
  },
  {
    "path": "source/react-links/src/webparts/links/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"groupDataLabel\": \"Gruppnamn för länkarna\",\n    \"groupPanelHeader\": \"Konfigurera dina gruppnamn\",\n    \"manageGroupBtn\": \"Konfigurera grupper\",\n    \"iconInformation\": \"Namnen som ska anges i ikonfältet finns på följande webbadress:\",\n\n    \"linkDataLabel\": \"Länkdata\",\n    \"linkPanelHeader\": \"Konfigurera dina länkar\",\n    \"manageLinksBtn\": \"Konfigurera länkar\",\n\n    \"titleField\": \"Titel\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric ikonnamn\",\n    \"groupField\": \"Gruppnamn\",\n    \"targetField\": \"Mål\",\n\n    \"targetCurrent\": \"Nuvarande fönster\",\n    \"targetNew\": \"Ny flik\",\n\n    \"noLinksIconText\": \"Konfigurera dina länkar\",\n    \"noLinksConfigured\": \"Konfigurera webbdelen för att visa länkar\",\n    \"noLinksBtn\": \"Konfigurera\",\n  }\n});\n"
  },
  {
    "path": "source/react-links/src/webparts/links/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"groupDataLabel\": \"Bağlantılar için grup adları\",\n    \"groupPanelHeader\": \"Grup adlarınızı yapılandırın\",\n    \"manageGroupBtn\": \"Grupları yapılandır\",\n    \"iconInformation\": \"İkon alanı için belirtilecek isimler aşağıdaki URL’de bulunabilir:\",\n\n    \"linkDataLabel\": \"Bağlantı verisi\",\n    \"linkPanelHeader\": \"Bağlantılarınızı yapılandırın\",\n    \"manageLinksBtn\": \"Bağlantıları yapılandır\",\n\n    \"titleField\": \"Başlık\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric ikon adı\",\n    \"groupField\": \"Grup ismi\",\n    \"targetField\": \"Hedef\",\n\n    \"targetCurrent\": \"Geçerli pencere\",\n    \"targetNew\": \"Yeni sekme\",\n\n    \"noLinksIconText\": \"Bağlantılarınızı yapılandırın\",\n    \"noLinksConfigured\": \"Lütfen bağlantıları göstermek için web bölümünü yapılandırın\",\n    \"noLinksBtn\": \"Yapılandır\",\n  }\n});\n"
  },
  {
    "path": "source/react-links/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-lob-integration/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-lob-integration/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          1,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 1,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 0,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 1\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-lob-integration/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts*.scss.d.ts"
  },
  {
    "path": "source/react-lob-integration/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-lob-integration/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-lob-integration/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-lob-integration/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-lob-integration\",\n    \"libraryId\": \"9cd26e88-b530-474a-8bd0-55a5b87df80d\",\n    \"packageManager\": \"npm\",\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-lob-integration/README.md",
    "content": "# LOB Integration webpart\n\nThe purpose of this web part is to show how you can consume LOB (Line of Business) solutions and external (on-premises, cloud based, etc) data within SharePoint Framework.\n\n![LOB Integration](../../assets/images/components/part-lob-integration.png)\n\nThe web part leverages a back-end REST API, built using a ASP.NET Core 3.1 WebAPI project that you can find [here](../../sample-lob-service/SharePointPnP.LobScenario/). This API is representative of LOB data exposed via a web service and consumed using Http calls. Visual Studio 2019 version 16.4 or higher required for Visual Studio based deployment to Azure.\n\n## LOB service - Application Registration\n\nThe LOB service is protected via the Microsoft Identity Platform. An application registration is required to implement this protection. Peform the following steps to register an application in a tenant.\n\n> If you are not an administrator of a Microsoft 365 tenant, you can get a tenant at no charge as part of the [Microsoft 365 Developer Program](https://developer.microsoft.com/en-us/office/dev-program).\n\n1. Log in to the Azure Active Directory admin center at https://aad.portal.azure.com/.\n1. In the left-hand navigation bar, select **Azure Active Directory**, then **App Registrations**.\n\n  ![Screenshot of the left navigation in the Azure Active Directory admin center](../../assets/images/sample-lob-service/figure1.png)\n\n1. Select **New Registration** from the toolbar.\n1. Enter a name for the application. In this example, the name is **SharePointPnP-LobScenario**. \n    > This value, known as the **_Application Name_**, is required later in the SharePoint Service Principal configuration.\n1. For **Supported account types**, select **Accounts in this organizational directory only (Single tenant)**.\n1. Select **Register**.\n\n  ![Screenshot of the New Application pane in the Azure Active Directory admin center](../../assets/images/sample-lob-service/figure2.png)\n\n1. In the application overview blade, select **Expose an API**.\n1. Select **Add a scope**.\n1. The portal will display a panel requesting an Application ID URI. Leave the suggested default (`api://{app-id}`).\n    > This value, known as the **_Application URI_**, is required as a web part property.\n1. Select **Save and continue**.\n\n  ![Screenshot of the Add a scope pane in the Azure Active Directory admin center](../../assets/images/sample-lob-service/figure3.png)\n\n1. For **Scope name**, enter `access_as_user`.\n    > This value, known as the **_Application Scope_**, is required later in the SharePoint Service Principal configuration.\n1. Complete the Consent fields as appropriate. \n1. Select **Add scope** to complete the configuration.\n\n  ![Screenshot of the Add a scope pane in the Azure Active Directory admin center](../../assets/images/sample-lob-service/figure4.png)\n\n1. Select **Overview** in the application menu. Make note of the following values for configuring the service code:\n   1. Application (client) ID\n   1. Directory (tenant) ID\n\n  ![Screenshot of the application overview in the Azure Active Directory admin center](../../assets/images/sample-lob-service/figure5.png)\n\n## LOB service - Code configuration\n\nThe [LOB service](../../sample-lob-service/SharePointPnP.LobScenario/) code must be configured with the application registration values.\n\n1. Open the `appsettings.json` file.\n1. Set the TenantId property to the **_Directory (tenant) ID_** value.\n1. Set the ClientId property to the **_Application (client) ID_** value.\n\nOnce updated, deploy or start the solution. The service must use the https scheme. Make note of the address (url).\n\n> This value, known as the **_Service Url_**, is required as a web part property.\n\n## SharePoint Service Principal configuration\n  \nThe SharePoint Service Principal must have a permission grant before getting an access token for the service. The following PowerShell commands will configure the service principal (the **Resource** and **Scope** parameters must match the values from the application registration):\n\n```PowerShell\nConnect-SPOService -Url \"https://[your-tenant]-admin.sharepoint.com/\"\n\nApprove-SPOTenantServicePrincipalPermissionGrant -Resource \"[Application Name]\" -Scope \"[Application Scope]\"\n```\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **LobIntegration** web part.\n3. Configure the webpart to update its properties.\n\n## Configurable Properties\n\nThe `LobIntegration` webpart must be configured with the following properties:\n\n| Label           | Property   | Type   | Required | Description |\n| --------------- | ---------- | ------ | -------- | ----------- |\n| Service Url     | serviceUrl | string | yes      | The hosting address of the LOB service. (The address must use the https scheme.)        |\n| Application URI | webapiUri  | string | yes      | The value from the application registration in the Azure Active Directory admin center. |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* SharePoint Online only due to dependency on API permission management\n\n## Applies to\n\n* [SharePoint Framework](https:/dev.office.com/sharepoint)\n* [Office 365 tenant](https://dev.office.com/sharepoint/docs/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nWebAPI configured as secured asset in the same Azure AD instance as where web part is hosted.\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-lob-integration | Paul Schaeflein (Technical Architect, AddIn365) / Microsoft MVP (Office Development) / @paulschaeflein\nreact-lob-integration | Chandani Prajapati / @Chandani_SPD\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n2.0|December 25, 2019|Initial release\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n> Include any additional steps as needed.\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Calling securely custom Web APIs in SharePoint Online from SharePoint Framework solutions\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-lob-integration\" />\n"
  },
  {
    "path": "source/react-lob-integration/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"lob-integration-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/lobIntegration/LobIntegrationWebPart.js\",\n          \"manifest\": \"./src/webparts/lobIntegration/LobIntegrationWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"LobIntegrationWebPartStrings\": \"lib/webparts/lobIntegration/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-lob-integration/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-lob-integration\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-lob-integration/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - LOB Integration\",\n    \"id\": \"9cd26e88-b530-474a-8bd0-55a5b87df80d\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-lob-integration description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-lob-integration description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - LOB Integration WebPart Feature\",\n        \"description\": \"The feature that activates LOB Integration WebPart from the Starter Kit - LOB Integration solution.\",\n        \"id\": \"748e6953-56aa-4a34-93bc-668966484f88\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"748e6953-56aa-4a34-93bc-668966484f88\"\n        ]\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-lob-integration.sppkg\"\n  }\n}\n"
  },
  {
    "path": "source/react-lob-integration/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-lob-integration/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-lob-integration/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-lob-integration/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n\n"
  },
  {
    "path": "source/react-lob-integration/package.json",
    "content": "{\n  \"name\": \"react-lob-integration\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/ICustomer.ts",
    "content": "export interface ICustomer {\n  customerID: string;\n  companyName: string;\n  contactName: string;\n  country: string;\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/ILobIntegrationWebPartProps.ts",
    "content": "export interface ILobIntegrationWebPartProps {\n    applicationUri: string;\n    serviceUrl: string;\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/ILobServiceResponse.ts",
    "content": "import { ICustomer } from \"./ICustomer\";\n\nexport interface ILobServiceResponse {\n    username: string;\n    requestDateTime: Date;\n    customers: ICustomer[];\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/LobIntegrationWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"748e6953-56aa-4a34-93bc-668966484f88\",\n  \"alias\": \"LobIntegrationWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n  \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsPersonalApp\", \"TeamsTab\"],\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"LOBIntegration\" },\n    \"description\": { \"default\": \"Demonstrates Line-of-Business solution integration with SharePoint Framework\" },\n    \"officeFabricIconFontName\": \"PlugConnected\",\n    \"properties\": {\n      \"description\": \"LOBIntegration\"\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/LobIntegrationWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version, DisplayMode } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration, PropertyPaneTextField } from \"@microsoft/sp-property-pane\";\n\nimport * as strings from 'LobIntegrationWebPartStrings';\nimport { ILobIntegrationWebPartProps } from './ILobIntegrationWebPartProps';\nimport LobIntegration from './components/LobIntegration';\nimport { ILobIntegrationProps } from './components/ILobIntegrationProps';\n\nexport default class LobIntegrationWebPart extends BaseClientSideWebPart<ILobIntegrationWebPartProps> {\n\n  // method to determine if the web part has to be configured\n  private needsConfiguration(): boolean {\n    // as long as we don't have the configuration settings\n    return (!this.properties.applicationUri || !this.properties.serviceUrl);\n  }\n\n  public render(): void {\n    const element: React.ReactElement<ILobIntegrationProps > = React.createElement(\n      LobIntegration,\n      {\n        applicationUri: this.properties.applicationUri,\n        serviceUrl: this.properties.serviceUrl,\n        needsConfiguration: this.needsConfiguration(),\n        context: this.context,\n        configureHandler: () => {\n          this.context.propertyPane.open();\n        },\n        errorHandler: (errorMessage: string) => {\n          if (this.displayMode === DisplayMode.Edit) {\n            this.context.statusRenderer.renderError(this.domElement, errorMessage);\n          } else {\n            // nothing to do, if we are not in edit Mode\n          }\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected onDispose(): void {\n    ReactDom.unmountComponentAtNode(this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupName: strings.BasicGroupName,\n              groupFields: [\n                PropertyPaneTextField('serviceUrl', {\n                  label: strings.ServiceUrlFieldLabel\n                }),\n                PropertyPaneTextField('applicationUri', {\n                  label: strings.ApplicationUriFieldLabel\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/components/ILobIntegrationProps.ts",
    "content": "import { WebPartContext } from \"@microsoft/sp-webpart-base\";\n\nexport interface ILobIntegrationProps {\n  applicationUri: string;\n  serviceUrl: string;\n  needsConfiguration: boolean;\n  context: WebPartContext;\n  configureHandler: () => void;\n  errorHandler: (errorMessage: string) => void;\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/components/ILobIntegrationState.ts",
    "content": "import { ICustomer } from \"../ICustomer\";\n\nexport interface ILobIntegrationState {\n    // used to show the Spinner while loading data\n    loading: boolean;\n    // value to search for\n    searchFor?: string;\n    // the list of customers to render\n    customers?: ICustomer[];\n    // current username, taken from the service response\n    username?: string;\n    // date and time of API invokation, taken from the service response\n    requestDateTime?: Date;\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/components/LobIntegration.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.lobIntegration {\n  .container {\n    margin: 0px auto;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1);\n  }\n\n  .row {\n    @include ms-Grid-row;\n    padding: 20px;\n  }\n\n  .column {\n    @include ms-Grid-col;\n    @include ms-lg10;\n    @include ms-xl8;\n    @include ms-xlPush2;\n    @include ms-lgPush1;\n  }\n\n  .title {\n    @include ms-font-xl;\n  }\n\n  .form {\n    @include ms-font-l;\n  }\n\n  .spinner {\n    .ms-Spinner-label {\n      color: $ms-color-themeDark;\n    }\n  }\n\n  .subTitle {\n    @include ms-font-l;\n  }\n\n  .description {\n    @include ms-font-l;\n  }\n\n  .button {\n    // Our button\n    text-decoration: none;\n    height: 32px;\n\n    // Primary Button\n    min-width: 80px;\n    background-color: $ms-color-themePrimary;\n    border-color: $ms-color-themePrimary;\n    color: $ms-color-white;\n\n    // Basic Button\n    outline: transparent;\n    position: relative;\n    font-family: \"Segoe UI WestEuropean\",\"Segoe UI\",-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif;\n    -webkit-font-smoothing: antialiased;\n    font-size: $ms-font-size-m;\n    font-weight: $ms-font-weight-regular;\n    border-width: 0;\n    text-align: center;\n    cursor: pointer;\n    display: inline-block;\n    padding: 0 16px;\n\n    .label {\n      font-weight: $ms-font-weight-semibold;\n      font-size: $ms-font-size-m;\n      height: 32px;\n      line-height: 32px;\n      margin: 0 4px;\n      vertical-align: top;\n      display: inline-block;\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/components/LobIntegration.module.scss.ts",
    "content": "/* tslint:disable */\nrequire(\"./LobIntegration.module.css\");\nconst styles = {\n  lobIntegration: 'lobIntegration_f1a12cf6',\n  container: 'container_f1a12cf6',\n  row: 'row_f1a12cf6',\n  column: 'column_f1a12cf6',\n  'ms-Grid': 'ms-Grid_f1a12cf6',\n  title: 'title_f1a12cf6',\n  form: 'form_f1a12cf6',\n  spinner: 'spinner_f1a12cf6',\n  'ms-Spinner-label': 'ms-Spinner-label_f1a12cf6',\n  subTitle: 'subTitle_f1a12cf6',\n  description: 'description_f1a12cf6',\n  button: 'button_f1a12cf6',\n  label: 'label_f1a12cf6'\n};\n\nexport default styles;\n/* tslint:enable */"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/components/LobIntegration.tsx",
    "content": "import * as React from 'react';\nimport styles from './LobIntegration.module.scss';\nimport { ILobIntegrationProps } from './ILobIntegrationProps';\nimport { ILobIntegrationState } from './ILobIntegrationState';\n\n// import additional controls/components\nimport * as strings from 'LobIntegrationWebPartStrings';\nimport { Placeholder } from \"@pnp/spfx-controls-react/lib/Placeholder\";\nimport {\n  Spinner,\n  SpinnerSize,\n  PrimaryButton,\n  TextField,\n  Label,\n  DetailsList,\n  DetailsListLayoutMode,\n  IColumn,\n  SelectionMode\n} from '@fluentui/react';\nimport { AadHttpClient, HttpClientResponse, IHttpClientOptions } from \"@microsoft/sp-http\";\nimport { ILobServiceResponse } from '../ILobServiceResponse';\n\n/**\n * Define the columns that will be used to render the list of customers\n */\nconst _customersColumns: IColumn[] = [\n  {\n    key: 'CustomerIDColumn',\n    name: strings.CustomerIDColumn,\n    fieldName: 'customerID',\n    minWidth: 80,\n    maxWidth: 100,\n    isResizable: true,\n    ariaLabel: strings.CustomerIDColumnAriaLabel\n  },\n  {\n    key: 'CompanyNameColumn',\n    name: strings.CompanyNameColumn,\n    fieldName: 'companyName',\n    minWidth: 150,\n    maxWidth: 350,\n    isResizable: true,\n    ariaLabel: strings.CompanyNameColumnAriaLabel\n  },\n  {\n    key: 'ContactNameColumn',\n    name: strings.ContactNameColumn,\n    fieldName: 'contactName',\n    minWidth: 150,\n    maxWidth: 350,\n    isResizable: true,\n    ariaLabel: strings.ContactNameColumnAriaLabel\n  },\n  {\n    key: 'CountryColumn',\n    name: strings.CountryColumn,\n    fieldName: 'country',\n    minWidth: 100,\n    maxWidth: 200,\n    isResizable: true,\n    ariaLabel: strings.CountryColumnAriaLabel\n  },\n];\n\nexport default class LobIntegration extends React.Component<ILobIntegrationProps, ILobIntegrationState> {\n\n  constructor(props: ILobIntegrationProps) {\n    super(props);\n\n    // set initial state for the component\n    this.state = {\n      loading: false,\n      searchFor: \"\",\n      customers: null,\n    };\n  }\n\n  public componentDidMount(): void {\n    // this._listCustomers();\n  }\n\n  private _onSearchForChanged(newValue: string): void {\n    // update the component state accordingly to the current user's input\n    this.setState({\n      searchFor: newValue,\n    });\n  }\n\n  private async _callService(requestUrl: string): Promise<ILobServiceResponse> {\n    // create an AadHttpClient object to consume the 3rd party API\n    const aadClient: AadHttpClient = await this.props.context.aadHttpClientFactory.getClient(this.props.applicationUri);\n\n    console.log(\"Created aadClient\");\n\n    const requestHeaders: Headers = new Headers();\n    requestHeaders.append('Accept', 'application/json');\n\n    const requestOptions: IHttpClientOptions = {\n      headers: requestHeaders,\n    };\n\n    // get the list of customers\n    const httpResponse: HttpClientResponse = await aadClient\n      .get(\n        requestUrl,\n        AadHttpClient.configurations.v1,\n        requestOptions\n      );\n\n    return await httpResponse.json();\n  }\n\n  private async _listCustomers(): Promise<void> {\n    // update the component state while listing customers\n    this.setState({\n      customers: null,\n      loading: true,\n    });\n\n    const response:ILobServiceResponse = await this._callService(this.props.serviceUrl);\n\n    // update the component state accordingly to the result\n    this.setState({\n      customers: response.customers,\n      username: response.username,\n      requestDateTime: response.requestDateTime,\n      loading: false,\n    });\n\n    return;\n  }\n\n  private async _searchCustomers(): Promise<void> {\n    // update the component state while searching customers\n    this.setState({\n      customers: null,\n      loading: true,\n    });\n\n    const response: ILobServiceResponse = await this._callService(`${this.props.serviceUrl}/search/${this.state.searchFor}`);\n\n    // update the component state accordingly to the result\n    this.setState({\n      customers: response.customers,\n      username: response.username,\n      requestDateTime: response.requestDateTime,\n      loading: false,\n    });\n\n    return;\n  }\n\n    public render(): React.ReactElement<ILobIntegrationProps> {\n\n      let contents: JSX.Element = null;\n\n      if (!this.props.needsConfiguration) {\n        contents = (\n          <div className={styles.lobIntegration}>\n            <div className={styles.container}>\n              <div className={styles.row}>\n\n                <div className={styles.column}>\n                  <span className={styles.title}>{strings.ListDescription}</span>\n                  <p className={styles.form}>\n                    <PrimaryButton\n                      text={strings.ListButtonText}\n                      title={strings.ListButtonText}\n                      onClick={() => this._listCustomers()}\n                    />\n                  </p>\n                </div>\n\n                <div className={styles.column}>\n                  <span className={styles.title}>{strings.SearchDescription}</span>\n                  <p className={styles.form}>\n                    <TextField\n                      label={strings.SearchFor}\n                      required={true}\n                      value={this.state.searchFor}\n                      onChange={(ev, newValue: string) => this._onSearchForChanged(newValue)}\n                    />\n                  </p>\n                  <p className={styles.form}>\n                    <PrimaryButton\n                      text={strings.SearchButtonText}\n                      title={strings.SearchButtonText}\n                      onClick={() => this._searchCustomers()}\n                    />\n                  </p>\n                </div>\n\n              </div>\n              {\n                (this.state.customers != null) ?\n                  <div className={styles.row}>\n                    <div className={styles.column}>\n                      <div><Label>Username: {this.state.username}</Label></div>\n                      <div><Label>Request DateTime: {this.state.requestDateTime}</Label></div>\n                      <div>\n                        <DetailsList\n                          items={this.state.customers}\n                          columns={_customersColumns}\n                          selectionMode={SelectionMode.none}\n                          layoutMode={DetailsListLayoutMode.justified} />\n                      </div>\n                    </div>\n                  </div>\n                  : null\n              }\n              {\n                (this.state.loading) ?\n                  <div className={styles.row}>\n                    <div className={styles.column}>\n                      <Spinner size={SpinnerSize.large} label={strings.LoadingDataLabel} className={styles.spinner} />\n                    </div>\n                  </div>\n                  : null\n              }\n            </div>\n          </div>\n        );\n      }\n\n    // show the Placeholder control, if we are missing the real content, otherwise show the real content\n    return (\n        <div className={styles.lobIntegration}>\n          {this.props.needsConfiguration &&\n            <Placeholder\n              iconName={strings.PlaceholderIconName}\n              iconText={strings.PlaceholderIconText}\n              description={strings.PlaceholderDescription}\n              buttonLabel={strings.PlaceholderButtonLabel}\n              onConfigure={() => this.props.configureHandler()} />\n          }\n          {contents}\n        </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"LOB Integration\",\n    \"BasicGroupName\": \"Allgemeine Einstellungen\",\n    \"ApplicationUriFieldLabel\": \"Application URI\",\n    \"FunctionUriFieldLabel\": \"Funktion URI\",\n    \"ServiceUrlFieldLabel\": \"Service Url\",\n\n    \"PlaceholderIconName\":\"Ändern\",\n    \"PlaceholderIconText\":\"Konfigurieren Sie Ihren Web Part\",\n    \"PlaceholderDescription\":\"Bitte konfigurieren Sie den Web Part\",\n    \"PlaceholderButtonLabel\":\"Konfigurieren\",\n\n    \"LoadingDataLabel\": \"Lade Daten ...\",\n    \"SearchFor\": \"Suche nach:\",\n    \"SearchButtonText\": \"Suche\",\n    \"SearchDescription\": \"Suche nach Kunden im LOB System\",\n    \"ListButtonText\": \"Kunden auflisten\",\n    \"ListDescription\": \"Listet Kunden aus dem LOb System auf\",\n\n    \"CustomerIDColumn\": \"Customer ID\",\n    \"CustomerIDColumnAriaLabel\": \"Kunden ID\",\n    \"CompanyNameColumn\": \"Company\",\n    \"CompanyNameColumnAriaLabel\": \"Firma\",\n    \"ContactNameColumn\": \"Contact\",\n    \"ContactNameColumnAriaLabel\": \"Kontakt\",\n    \"CountryColumn\": \"Country\",\n    \"CountryColumnAriaLabel\": \"Land\",\n\n  }\n});\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"LOB Integration\",\n    \"BasicGroupName\": \"General Settings\",\n    \"ApplicationUriFieldLabel\": \"Application URI\",\n    \"FunctionUriFieldLabel\": \"Function URI\",\n    \"ServiceUrlFieldLabel\": \"Service Url\",\n\n    \"PlaceholderIconName\":\"Edit\",\n    \"PlaceholderIconText\":\"Configure your web part\",\n    \"PlaceholderDescription\":\"Please configure the web part.\",\n    \"PlaceholderButtonLabel\":\"Configure\",\n\n    \"LoadingDataLabel\": \"Loading data ...\",\n    \"SearchFor\": \"Search for:\",\n    \"SearchButtonText\": \"Search\",\n    \"SearchDescription\": \"Search for Customers from LOB System\",\n    \"ListButtonText\": \"List Customers\",\n    \"ListDescription\": \"List Customers from LOB System\",\n\n    \"CustomerIDColumn\": \"Customer ID\",\n    \"CustomerIDColumnAriaLabel\": \"Customer ID\",\n    \"CompanyNameColumn\": \"Company\",\n    \"CompanyNameColumnAriaLabel\": \"Company\",\n    \"ContactNameColumn\": \"Contact\",\n    \"ContactNameColumnAriaLabel\": \"Contact\",\n    \"CountryColumn\": \"Country\",\n    \"CountryColumnAriaLabel\": \"Country\",\n\n  }\n});\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Integración LOB\",\n    \"BasicGroupName\": \"Configuración general\",\n    \"ApplicationUriFieldLabel\": \"Application URI\",\n    \"FunctionUriFieldLabel\": \"Function URI\",\n    \"ServiceUrlFieldLabel\": \"Service Url\",\n\n    \"PlaceholderIconName\":\"Editar\",\n    \"PlaceholderIconText\":\"Configure su elementoi web\",\n    \"PlaceholderDescription\":\"Favor de configurar este elemento web.\",\n    \"PlaceholderButtonLabel\":\"Configurar\",\n\n    \"LoadingDataLabel\": \"Cargando datos ...\",\n    \"SearchFor\": \"Buscar por:\",\n    \"SearchButtonText\": \"Busqueda\",\n    \"SearchDescription\": \"Busqueda de cleinte desde siustema LOB\",\n    \"ListButtonText\": \"Lista de Clientes\",\n    \"ListDescription\": \"Lista de clientes de sistema LOB\",\n\n    \"CustomerIDColumn\": \"Customer ID\",\n    \"CustomerIDColumnAriaLabel\": \"Cliente ID\",\n    \"CompanyNameColumn\": \"Company\",\n    \"CompanyNameColumnAriaLabel\": \"Compañia\",\n    \"ContactNameColumn\": \"Contact\",\n    \"ContactNameColumnAriaLabel\": \"Contacto\",\n    \"CountryColumn\": \"Country\",\n    \"CountryColumnAriaLabel\": \"País\",\n\n  }\n});\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Integration LOB\",\n    \"BasicGroupName\": \"Réglages généraux\",\n    \"ApplicationUriFieldLabel\": \"Application URI\",\n    \"FunctionUriFieldLabel\": \"URI de la fonction\",\n    \"ServiceUrlFieldLabel\": \"Service Url\",\n\n    \"PlaceholderIconName\":\"Editez\",\n    \"PlaceholderIconText\":\"Configurez votre partie Web\",\n    \"PlaceholderDescription\":\"Veuillez configurer la partie Web.\",\n    \"PlaceholderButtonLabel\":\"Configurez\",\n\n    \"LoadingDataLabel\": \"Chargement des données ...\",\n    \"SearchFor\": \"Rechercher:\",\n    \"SearchButtonText\": \"Rechercher\",\n    \"SearchDescription\": \"Rechercher des clients depuis le système LOB\",\n    \"ListButtonText\": \"Liste des clients\",\n    \"ListDescription\": \"Liste des clients depuis le système LOB\",\n\n    \"CustomerIDColumn\": \"ID du client\",\n    \"CustomerIDColumnAriaLabel\": \"ID du client\",\n    \"CompanyNameColumn\": \"Entreprise\",\n    \"CompanyNameColumnAriaLabel\": \"Entreprise\",\n    \"ContactNameColumn\": \"Contacte\",\n    \"ContactNameColumnAriaLabel\": \"Contacte\",\n    \"CountryColumn\": \"Pays\",\n    \"CountryColumnAriaLabel\": \"Pays\",\n\n  }\n});\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/loc/mystrings.d.ts",
    "content": "declare interface ILobIntegrationWebPartStrings {\n\n  // Property Pane labels and strings\n  PropertyPaneDescription: string;\n  BasicGroupName: string;\n  ApplicationUriFieldLabel: string;\n  FunctionUriFieldLabel: string;\n  ServiceUrlFieldLabel: string;\n\n  // Placeholder labels and strings\n  PlaceholderIconName: string;\n  PlaceholderIconText: string;\n  PlaceholderDescription: string;\n  PlaceholderButtonLabel: string;\n\n  // UI labels and strings\n  LoadingDataLabel: string;\n  SearchFor: string;\n  SearchButtonText: string;\n  SearchDescription: string;\n  ListButtonText: string;\n  ListDescription: string;\n\n  // labels for list of customers\n  CustomerIDColumn: string;\n  CustomerIDColumnAriaLabel: string;\n  CompanyNameColumn: string;\n  CompanyNameColumnAriaLabel: string;\n  ContactNameColumn: string;\n  ContactNameColumnAriaLabel: string;\n  CountryColumn: string;\n  CountryColumnAriaLabel: string;\n}\n\ndeclare module 'LobIntegrationWebPartStrings' {\n  const strings: ILobIntegrationWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"LOB Integrasjon\",\n    \"BasicGroupName\": \"Generelle innstillinger\",\n    \"ApplicationUriFieldLabel\": \"Application URI\",\n    \"FunctionUriFieldLabel\": \"Funksjon URI\",\n    \"ServiceUrlFieldLabel\": \"Service Url\",\n\n    \"PlaceholderIconName\":\"Rediger\",\n    \"PlaceholderIconText\":\"Konfigurer webdelen\",\n    \"PlaceholderDescription\":\"Vennligst konfigurer webdelen.\",\n    \"PlaceholderButtonLabel\":\"Konfigurer\",\n\n    \"LoadingDataLabel\": \"Laster data ...\",\n    \"SearchFor\": \"Søk etter:\",\n    \"SearchButtonText\": \"Søk\",\n    \"SearchDescription\": \"Søk etter kunder fra LOB systemet\",\n    \"ListButtonText\": \"Vis kunder\",\n    \"ListDescription\": \"List opp kunder fra LOB systemet\",\n\n    \"CustomerIDColumn\": \"Kunde ID\",\n    \"CustomerIDColumnAriaLabel\": \"Kunde ID\",\n    \"CompanyNameColumn\": \"Selskap\",\n    \"CompanyNameColumnAriaLabel\": \"Selskap\",\n    \"ContactNameColumn\": \"Kontakt\",\n    \"ContactNameColumnAriaLabel\": \"Kontakt\",\n    \"CountryColumn\": \"Land\",\n    \"CountryColumnAriaLabel\": \"Land\",\n\n  }\n});\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"LOB Integration\",\n    \"BasicGroupName\": \"Generella Inställningar\",\n    \"ApplicationUriFieldLabel\": \"Application URI\",\n    \"FunctionUriFieldLabel\": \"Function URI\",\n    \"ServiceUrlFieldLabel\": \"Service Url\",\n\n    \"PlaceholderIconName\":\"Redigera\",\n    \"PlaceholderIconText\":\"Konfigurera din webbdel\",\n    \"PlaceholderDescription\":\"Var god och konfigurera din webbdel.\",\n    \"PlaceholderButtonLabel\":\"Konfigurera\",\n\n    \"LoadingDataLabel\": \"Laddar data ...\",\n    \"SearchFor\": \"Sök efter:\",\n    \"SearchButtonText\": \"Sök\",\n    \"SearchDescription\": \"Sök efter kunder från LOB Systemet\",\n    \"ListButtonText\": \"Lista kunder\",\n    \"ListDescription\": \"Lista kunder från LOB Systemet\",\n\n    \"CustomerIDColumn\": \"KundID\",\n    \"CustomerIDColumnAriaLabel\": \"KundID\",\n    \"CompanyNameColumn\": \"Företag\",\n    \"CompanyNameColumnAriaLabel\": \"Företag\",\n    \"ContactNameColumn\": \"Kontakt\",\n    \"ContactNameColumnAriaLabel\": \"Kontakt\",\n    \"CountryColumn\": \"Land\",\n    \"CountryColumnAriaLabel\": \"Land\",\n\n  }\n});\n"
  },
  {
    "path": "source/react-lob-integration/src/webparts/lobIntegration/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"LOB Entegrasyon\",\n    \"BasicGroupName\": \"Genel Ayarlar\",\n    \"ApplicationUriFieldLabel\": \"Application URI\",\n    \"FunctionUriFieldLabel\": \"Fonksiyon URI\",\n    \"ServiceUrlFieldLabel\": \"Service Url\",\n\n    \"PlaceholderIconName\":\"Düzenle\",\n    \"PlaceholderIconText\":\"Web bölümünü yapılandır\",\n    \"PlaceholderDescription\":\"Lütfen web bölümünü yapılandırın.\",\n    \"PlaceholderButtonLabel\":\"Yapılandır\",\n\n    \"LoadingDataLabel\": \"Veri yükleniyor ...\",\n    \"SearchFor\": \"Arama:\",\n    \"SearchButtonText\": \"Ara\",\n    \"SearchDescription\": \"LOB Sisteminden Müşterileri Arayın\",\n    \"ListButtonText\": \"Müşterileri Listele\",\n    \"ListDescription\": \"LOB Sisteminden Müşterileri Listele\",\n\n    \"CustomerIDColumn\": \"Müşteri Kimliği\",\n    \"CustomerIDColumnAriaLabel\": \"Müşteri Kimliği\",\n    \"CompanyNameColumn\": \"Şirket\",\n    \"CompanyNameColumnAriaLabel\": \"Şirket\",\n    \"ContactNameColumn\": \"Yetkili\",\n    \"ContactNameColumnAriaLabel\": \"Yetkili\",\n    \"CountryColumn\": \"Ülke\",\n    \"CountryColumnAriaLabel\": \"Ülke\",\n\n  }\n});\n"
  },
  {
    "path": "source/react-lob-integration/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-people-directory/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 0,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 0,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 0,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 1,\n        // ====================================================================\n        // self-closing-comp\n        // ====================================================================\n        'self-closing-comp': 0,\n        // ====================================================================\n        // react/self-closing-comp\n        // ====================================================================\n        'react/self-closing-comp': 0,\n        // ====================================================================\n        // prefer-spread\n        // ====================================================================\n        'prefer-spread': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-people-directory/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-people-directory/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-people-directory/.vscode/launch.json",
    "content": "{\n\t\"version\": \"0.2.0\",\n\t\"configurations\": [\n\t  {\n\t\t\"name\": \"Hosted workbench\",\n\t\t\"type\": \"pwa-chrome\",\n\t\t\"request\": \"launch\",\n\t\t\"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n\t\t\"webRoot\": \"${workspaceRoot}\",\n\t\t\"sourceMaps\": true,\n\t\t\"sourceMapPathOverrides\": {\n\t\t  \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n\t\t  \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n\t\t  \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n\t\t  \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n\t\t},\n\t\t\"runtimeArgs\": [\n\t\t  \"--remote-debugging-port=9222\",\n\t\t  \"-incognito\"\n\t\t]\n\t  }\n\t]\n  }"
  },
  {
    "path": "source/react-people-directory/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-people-directory/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-people-directory\",\n    \"libraryId\": \"bf076fcb-c67e-4b89-b1ff-2ab5242945c5\",\n    \"packageManager\": \"npm\",\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-people-directory/README.md",
    "content": "# People Directory web part\n\nThis web part provides you the ability to add a searchable people directory. A people search box and alphabet list are provided to enable both searching by name as well as selecting a specific letter. This web part requires no configuration and utilizes the people search API to surface people results, i.e. `/_api/search/query`.\n\n![People Directory](../../assets/images/components/part-people-directory.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **People Directory** web part.\n3. Configure the webpart to update its properties.\n\n## Configurable Properties\n\nThe `People Directory` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Web part title | title | string | no | The web part title, editable inline with the web part itself |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nnone\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-people-directory | Waldek Mastykarz\nreact-people-directory | David Warner II\nreact-people-directory | Don Kirkham\nreact-people-directory | Chandani Prajapati\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|March 27, 2018|Initial release\n2.0|December 3, 2019|v2.0\n2.1|February 7, 2022|Upgrade solution to SPFx v1.13.1\n2.2|February 10, 2022|Adjust controls to be responsive\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n> Include any additional steps as needed.\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* SharePoint Search API\n* PnP React Controls\n* Fluint UI Controls\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-people-directory\" />\n"
  },
  {
    "path": "source/react-people-directory/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"people-directory-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/peopleDirectory/PeopleDirectoryWebPart.js\",\n          \"manifest\": \"./src/webparts/peopleDirectory/PeopleDirectoryWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"PeopleDirectoryWebPartStrings\": \"lib/webparts/peopleDirectory/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-people-directory/config/deploy-azure-storage.json",
    "content": "{\n\t\"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n\t\"workingDir\": \"./release/assets/\",  \n\t\"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n\t\"container\": \"react-people-directory\",\n\t\"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-people-directory/config/package-solution.json",
    "content": "{\n\t\"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n\t\"solution\": {\n\t\t\"name\": \"Starter Kit - People Directory\",\n\t\t\"id\": \"bf076fcb-c67e-4b89-b1ff-2ab5242945c5\",\n\t\t\"version\": \"3.0.0.0\",\n\t\t\"developer\": {\n\t\t\t\"name\": \"PnP Starter Kit\",\n\t\t\t\"privacyUrl\": \"\",\n\t\t\t\"termsOfUseUrl\": \"\",\n\t\t\t\"websiteUrl\": \"\",\n\t\t\t\"mpnId\": \"pnpsk\"\n\t\t},\n\t\t\"metadata\": {\n\t\t\t\"shortDescription\": {\n\t\t\t\t\"default\": \"react-people-directory description\"\n\t\t\t},\n\t\t\t\"longDescription\": {\n\t\t\t\t\"default\": \"react-people-directory description\"\n\t\t\t},\n\t\t\t\"screenshotPaths\": [],\n\t\t\t\"videoUrl\": \"\",\n\t\t\t\"categories\": []\n\t\t},\n\t\t\"features\": [\n\t\t\t{\n\t\t\t\t\"title\": \"Starter Kit - People Directory WebPart Feature\",\n\t\t\t\t\"description\": \"The feature that activates People Directory WebPart from the Starter Kit - People Directory solution.\",\n\t\t\t\t\"id\": \"52b26049-6e2e-4302-8258-e9f8861a881f\",\n\t\t\t\t\"version\": \"3.0.0.0\",\n\t\t\t\t\"componentIds\": [\n\t\t\t\t\t\"52b26049-6e2e-4302-8258-e9f8861a881f\"\n\t\t\t\t]\n\t\t\t}\n\t\t],\n\t\t\"includeClientSideAssets\": true,\n\t\t\"skipFeatureDeployment\": true,\n\t\t\"isDomainIsolated\": false\n\t},\n\t\"paths\": {\n\t\t\"zippedPackage\": \"solution/react-people-directory.sppkg\"\n\t}\n}"
  },
  {
    "path": "source/react-people-directory/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-people-directory/config/serve.json",
    "content": "{\n\t\"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n\t\"port\": 4321,\n\t\"https\": true,\n\t\"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}"
  },
  {
    "path": "source/react-people-directory/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-people-directory/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-people-directory/package.json",
    "content": "{\n\t\"name\": \"react-people-directory\",\n\t\"version\": \"3.0.0\",\n\t\"private\": true,\n\t\"main\": \"lib/index.js\",\n\t\"engines\": {\n\t\t\"node\": \">=16.13.0 <17.0.0\"\n\t},\n\t\"scripts\": {\n\t\t\"build\": \"gulp bundle\",\n\t\t\"clean\": \"gulp clean\",\n\t\t\"test\": \"gulp test\"\n\t},\n\t\"dependencies\": {\n\t\t\"@microsoft/sp-core-library\": \"1.16.1\",\n\t\t\"@microsoft/sp-lodash-subset\": \"1.16.1\",\n\t\t\"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n\t\t\"@microsoft/sp-property-pane\": \"1.16.1\",\n\t\t\"@microsoft/sp-webpart-base\": \"1.16.1\",\n\t\t\"@pnp/spfx-controls-react\": \"3.12.0\",\n\t\t\"react\": \"17.0.1\",\n\t\t\"react-dom\": \"17.0.1\",\n\t\t\"tslib\": \"2.3.1\"\n\t},\n\t\"resolutions\": {\n\t\t\"@types/react\": \"16.8.8\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@microsoft/eslint-config-spfx\": \"1.16.1\",\n\t\t\"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n\t\t\"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n\t\t\"@microsoft/sp-build-web\": \"1.16.1\",\n\t\t\"@microsoft/sp-module-interfaces\": \"1.16.1\",\n\t\t\"@rushstack/eslint-config\": \"2.5.1\",\n\t\t\"@types/react\": \"17.0.45\",\n\t\t\"@types/react-dom\": \"17.0.17\",\n\t\t\"@types/webpack-env\": \"~1.15.2\",\n\t\t\"ajv\": \"^6.12.5\",\n\t\t\"eslint-plugin-react-hooks\": \"4.3.0\",\n\t\t\"gulp\": \"4.0.2\",\n\t\t\"typescript\": \"4.5.5\"\n\t}\n}\n"
  },
  {
    "path": "source/react-people-directory/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/PeopleDirectoryWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"52b26049-6e2e-4302-8258-e9f8861a881f\",\n  \"alias\": \"PeopleDirectoryWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n  \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsTab\", \"TeamsPersonalApp\"],\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"People Directory\" },\n    \"description\": { \"default\": \"Search people in the corporate directory\" },\n    \"officeFabricIconFontName\": \"CompanyDirectory\",\n    \"properties\": {\n      \"title\": \"People Directory\"\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/PeopleDirectoryWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration } from \"@microsoft/sp-property-pane\";\n\nimport { PeopleDirectory, IPeopleDirectoryProps } from './components/PeopleDirectory/';\n\nexport interface IPeopleDirectoryWebPartProps {\n\ttitle: string;\n}\n\nexport default class PeopleDirectoryWebPart extends BaseClientSideWebPart<IPeopleDirectoryWebPartProps> {\n\n\tprotected onInit(): Promise<void> {\n\t\tdocument.documentElement.style\n\t\t\t.setProperty('--maxPersonaWidth', this.width > 640 ? \"50%\" : \"100\");\n\t\treturn Promise.resolve();\n\t}\n\tprotected onAfterResize(newWidth: number) {\n\t\tconsole.log(\"New web part width: \" + newWidth);\n\t\tdocument.documentElement.style\n\t\t\t.setProperty('--maxPersonaWidth', newWidth > 640 ? \"50%\" : \"100\");\n\t}\n\tpublic render(): void {\n\t\tconst element: React.ReactElement<IPeopleDirectoryProps> = React.createElement(\n\t\t\tPeopleDirectory,\n\t\t\t{\n\t\t\t\twebUrl: this.context.pageContext.web.absoluteUrl,\n\t\t\t\tspHttpClient: this.context.spHttpClient,\n\t\t\t\ttitle: this.properties.title,\n\t\t\t\tdisplayMode: this.displayMode,\n\t\t\t\tlocale: this.getLocaleId(),\n\t\t\t\tonTitleUpdate: (newTitle: string) => {\n\t\t\t\t\t// after updating the web part title in the component\n\t\t\t\t\t// persist it in web part properties\n\t\t\t\t\tthis.properties.title = newTitle;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tReactDom.render(element, this.domElement);\n\t}\n\n\tprotected onDispose(): void {\n\t\tReactDom.unmountComponentAtNode(this.domElement);\n\t}\n\n\tprotected get dataVersion(): Version {\n\t\treturn Version.parse('1.0');\n\t}\n\n\tprotected getLocaleId(): string {\n\t\treturn this.context.pageContext.cultureInfo.currentUICultureName;\n\t}\n\n\tprotected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n\t\treturn {\n\t\t\tpages: []\n\t\t};\n\t}\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/IndexNavigation/IIndexNavigationProps.ts",
    "content": "/**\n * Properties for the index navigation component\n */\nexport interface IIndexNavigationProps {\n  /**\n   * Name of the currently selected tab, eg. 'A'\n   */\n  selectedIndex: string;\n  /**\n   * Current search query. Empty, if not searching.\n   */\n  searchQuery: string;\n    /**\n   * Current locale\n   */\n  locale: string;\n  /**\n   * Event handler for selecting a tab\n   */\n  onIndexSelect: (index: string) => void;\n  /**\n   * Event handler for issuing a search query\n   */\n  onSearch: (searchQuery: string) => void;\n  /**\n   * Event handler for clearing the search query\n   */\n  onSearchClear: () => void;\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/IndexNavigation/IndexNavigation.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.indexNavigation {\n  margin-bottom: 1em;\n\n  div[role^='tablist'] {\n    white-space: normal;\n\n    button:last-child {\n      font-weight: 600;\n    }\n  }\n\n\t[class^='ms-SearchBox'] {\n\t\tmax-width: 100%;\n\t}\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/IndexNavigation/IndexNavigation.tsx",
    "content": "import * as React from 'react';\nimport styles from './IndexNavigation.module.scss';\nimport { IIndexNavigationProps } from '.';\nimport { Search } from '../Search';\nimport { Pivot, PivotItem } from '@fluentui/react/lib/Pivot';\nimport * as strings from 'PeopleDirectoryWebPartStrings';\n\nexport class IndexNavigation extends React.Component<IIndexNavigationProps, {}> {\n  /**\n   * Event handler for selecting a tab in the navigation\n   */\n  private _handleIndexSelect = (item?: PivotItem, ev?: React.MouseEvent<HTMLElement>): void => {\n    this.props.onIndexSelect(item.props.linkText);\n  }\n\n  public shouldComponentUpdate(nextProps: IIndexNavigationProps, nextState: {}, nextContext: any): boolean {\n    // Component should update only if the selected tab has changed.\n    // This check helps to avoid unnecessary renders\n    return this.props.selectedIndex !== nextProps.selectedIndex;\n  }\n\n  public render(): React.ReactElement<IIndexNavigationProps> {\n    // build the list of alphabet letters A..Z\n    const az = Array.apply(null, { length: 26 }).map((x: string, i: number): string => { return String.fromCharCode(65 + i); });\n    if (this.props.locale === \"sv-SE\") {\n      az.push('Å', 'Ä', 'Ö');\n    }\n    // for each letter, create a PivotItem component\n    const indexes: JSX.Element[] = az.map((index: any) => <PivotItem linkText={index} itemKey={index} key={index} />);\n    // as the last tab in the navigation, add the Search option\n    indexes.push(<PivotItem linkText={strings.SearchButtonText} itemKey='Search'>\n      <Search\n        searchQuery={this.props.searchQuery}\n        onSearch={this.props.onSearch}\n        onClear={this.props.onSearchClear} />\n    </PivotItem>);\n\n    return (\n      <div className={styles.indexNavigation}>\n        <Pivot onLinkClick={this._handleIndexSelect} selectedKey={this.props.selectedIndex}>\n          {indexes}\n        </Pivot>\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/IndexNavigation/index.ts",
    "content": "export * from './IIndexNavigationProps';\nexport * from './IndexNavigation';"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleCallout/IPeopleCalloutProps.ts",
    "content": "import { IPerson } from \"../PeopleDirectory\";\n\nexport interface IPeopleCalloutProps {\n  person: IPerson;\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleCallout/IPeopleCalloutState.ts",
    "content": "export interface IPeopleCalloutState {\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleCallout/PeopleCallout.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n$neutralLight: \"[theme:neutralLight, default: #eaeaea]\";\n\n.calloutCard{\n  padding: 1rem;\n  h1{\n    border-bottom: 1px solid $neutralLight;\n    margin: 0;\n    margin-bottom: .5rem;\n    padding-bottom: 1rem;\n  }\n}\n.PeopleCallout{\n  list-style: none;\n  margin: 0;\n  max-width: 18rem;\n  padding-left: 0;\n  .info{\n    padding: .5rem 0;\n  }\n  li{\n    align-items: center;\n    display: flex;\n    position: relative;\n    &.fl_column{\n      align-items: flex-start;\n      flex-direction: column;\n    }\n    a{\n      outline: none;\n      display: block;\n      padding-right: 1rem;\n      width: 100%;\n      &:hover{\n        + .clipboard{\n          opacity: 1;\n          transform: translateX(1rem);\n          transition: .3s opacity cubic-bezier(0.165, 0.84, 0.44, 1), .3s transform cubic-bezier(0.165, 0.84, 0.44, 1);\n          will-change: opacity, transform;\n        }\n      }\n    }\n    i{\n      display: inline-flex;\n      cursor: pointer;\n      margin-right: .5rem;\n      position: relative;\n      &.clipboard{\n        border: 1px solid \"[theme:themePrimary, default: #0078d7]\";\n        background-color: white;\n        border-radius: 100%;\n        cursor: pointer;\n        opacity: 0;\n        padding: .75rem;\n        position: absolute;\n        right: 0;\n        transform: translateX(0);\n        transition: .3s opacity cubic-bezier(0.165, 0.84, 0.44, 1), .3s transform cubic-bezier(0.165, 0.84, 0.44, 1);\n        top: 0;\n        will-change: opacity, transform;\n        &:hover{\n          opacity: 1;\n          transform: translateX(1rem);\n          transition: .3s opacity cubic-bezier(0.165, 0.84, 0.44, 1), .3s transform cubic-bezier(0.165, 0.84, 0.44, 1);\n          will-change: opacity, transform;\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleCallout/PeopleCallout.tsx",
    "content": "import * as React from 'react';\nimport { IPeopleCalloutProps, IPeopleCalloutState } from '.';\nimport styles from './PeopleCallout.module.scss';\nimport * as strings from 'PeopleDirectoryWebPartStrings';\n\nexport class PeopleCallout extends React.Component<IPeopleCalloutProps, IPeopleCalloutState> {\n  constructor(props: IPeopleCalloutProps) {\n    super(props);\n\n    this.state = {\n    };\n  }\n\n  public render(): React.ReactElement<IPeopleCalloutProps> {\n    return (\n      <div className={styles.calloutCard}>\n        <h1 className={\"ms-font-xl\"}>\n          {this.props.person.name}\n        </h1>\n        <ul className={styles.PeopleCallout}>\n          {this.props.person.function &&\n            <li>{this.props.person.function}</li>\n          }\n          {this.props.person.department &&\n            <li>{this.props.person.department}</li>\n          }\n          {this.props.person.email &&\n            <li id=\"personcopyemail\">\n              <i className=\"ms-Icon ms-Icon--Mail icon\" aria-hidden=\"true\"></i>\n              <a href={`mailto:${this.props.person.email}`} className={styles.info}>\n                {this.props.person.email}\n              </a>\n              <i className={`ms-Icon ms-Icon--Copy ${styles.clipboard}`} aria-hidden=\"true\" title={strings.CopyEmailLabel} onClick={this._onCopyClicked('personcopyemail')}></i>\n            </li>\n          }\n          {this.props.person.phone &&\n            <li id=\"personcopyphone\">\n              <i className=\"ms-Icon ms-Icon--Phone icon\" aria-hidden=\"true\"></i>\n              <a href={`tel:${this.props.person.phone}`} className={styles.info}>\n                {this.props.person.phone}\n              </a>\n              <i className={`ms-Icon ms-Icon--Copy ${styles.clipboard}`} aria-hidden=\"true\" title={strings.CopyPhoneLabel} onClick={this._onCopyClicked('personcopyphone')}></i>\n            </li>\n          }\n          {this.props.person.mobile &&\n            <li id=\"personcopymobile\">\n              <i className=\"ms-Icon ms-Icon--CellPhone icon\" aria-hidden=\"true\"></i>\n              <a href={`tel:${this.props.person.mobile}`} className={styles.info}>\n                {this.props.person.mobile}\n              </a>\n              <i className={`ms-Icon ms-Icon--Copy ${styles.clipboard}`} aria-hidden=\"true\" title={strings.CopyMobileLabel} onClick={this._onCopyClicked('personcopymobile')}></i>\n            </li>\n          }\n          {this.props.person.projects &&\n            <li className={styles.info + ' ' + styles.fl_column}>\n              <label className=\"ms-fontSize-xl ms-fontWeight-light\">{strings.ProjectsLabel}</label>\n              <div>{this.props.person.projects}</div>\n            </li>\n          }\n          {this.props.person.skills &&\n            <li className={styles.info + ' ' + styles.fl_column}>\n              <label className=\"ms-fontSize-xl ms-fontWeight-light\">{strings.SkillsLabel}</label>\n              <div>{this.props.person.skills}</div>\n            </li>\n          }\n        </ul>\n      </div>\n    );\n  }\n\n  private _onCopyClicked = (elementName: string) => (event: any) => {\n    let copyText = document.getElementById(elementName);\n    var range = document.createRange();\n    range.selectNode(copyText);\n    window.getSelection().removeAllRanges();\n    window.getSelection().addRange(range);\n\n    document.execCommand(\"copy\");\n    window.getSelection().removeAllRanges();\n    event.target.className = \"ms-Icon ms-Icon--StatusCircleCheckmark\";\n  }\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleCallout/index.ts",
    "content": "export * from './IPeopleCalloutProps';\nexport * from './IPeopleCalloutState';\nexport * from './PeopleCallout';"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleDirectory/IPeopleDirectoryProps.ts",
    "content": "import { SPHttpClient } from \"@microsoft/sp-http\";\nimport { DisplayMode } from \"@microsoft/sp-core-library\";\n\n/**\n * Properties for the people directory component\n */\nexport interface IPeopleDirectoryProps {\n  /**\n   * Absolute URL of the current site\n   */\n  webUrl: string;\n  /**\n   * Instance of the SPHttpClient. Used to retrieve information about\n   * people.\n   */\n  spHttpClient: SPHttpClient;\n  /**\n   * Web part title to be displayed in the web part\n   */\n  title: string;\n  /**\n   * Current page display mode. Used to determine if the user should\n   * be able to edit the page title or not.\n   */\n  displayMode: DisplayMode;\n   /**\n   * Current locale\n   */\n  locale: string;\n  /**\n   * Event handler for changing the web part title\n   */\n  onTitleUpdate: (newTitle: string) => void;\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleDirectory/IPeopleDirectoryState.ts",
    "content": "import { IPerson } from \".\";\n\n/**\n * State for the people directory component\n */\nexport interface IPeopleDirectoryState {\n    /**\n     * True if the component is loading its data, false otherwise\n     */\n    loading: boolean;\n    /**\n     * Contains the error message that occurred while loading the data.\n     * If no error message occurred, null.\n     */\n    errorMessage: string;\n    /**\n     * Currently selected tab, eg. 'A'\n     */\n    selectedIndex: string;\n    /**\n     * Current search query. Empty string if no search query has been issued\n     */\n    searchQuery: string;\n    /**\n     * List of people matching either the currently selected tab or the\n     * search query. Empty array if no matching people found.\n     */\n    people: IPerson[];\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleDirectory/IPeopleSearchResults.ts",
    "content": "/**\n * Interface describing people search results coming from SharePoint Search\n */\nexport interface IPeopleSearchResults {\n  PrimaryQueryResult: {\n    RelevantResults: {\n      RowCount: number;\n      Table: {\n        Rows: {\n          Cells: ICell[];\n        }[];\n      };\n      TotalRows: number;\n    };\n  };\n  error?: {\n    code: string;\n    message: string;\n  };\n}\n\nexport interface ICell {\n  Key: string;\n  Value: string;\n  ValueType: string;\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleDirectory/IPerson.ts",
    "content": "export interface IPerson {\n  name: string;\n  firstName: string;\n  lastName: string;\n  phone: string;\n  mobile: string;\n  email: string;\n  photoUrl: string;\n  function: string;\n  department: string;\n  skills: string;\n  projects: string;\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleDirectory/PeopleDirectory.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.peopleDirectory {\n  .container {\n    max-width: 700px;\n    margin: 0px auto;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1);\n  }\n\n  .row {\n    @include ms-Grid-row;\n    @include ms-fontColor-white;\n    background-color: $ms-color-themeDark;\n    padding: 20px;\n  }\n\n  .column {\n    @include ms-Grid-col;\n    @include ms-lg10;\n    @include ms-xl8;\n    @include ms-xlPush2;\n    @include ms-lgPush1;\n  }\n\n  .title {\n    @include ms-font-xl;\n    @include ms-fontColor-white;\n  }\n\n  .subTitle {\n    @include ms-font-l;\n    @include ms-fontColor-white;\n  }\n\n  .description {\n    @include ms-font-l;\n    @include ms-fontColor-white;\n  }\n\n  .button {\n    // Our button\n    text-decoration: none;\n    height: 32px;\n\n    // Primary Button\n    min-width: 80px;\n    background-color: $ms-color-themePrimary;\n    border-color: $ms-color-themePrimary;\n    color: $ms-color-white;\n\n    // Basic Button\n    outline: transparent;\n    position: relative;\n    font-family: \"Segoe UI WestEuropean\",\"Segoe UI\",-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif;\n    -webkit-font-smoothing: antialiased;\n    font-size: $ms-font-size-m;\n    font-weight: $ms-font-weight-regular;\n    border-width: 0;\n    text-align: center;\n    cursor: pointer;\n    display: inline-block;\n    padding: 0 16px;\n\n    .label {\n      font-weight: $ms-font-weight-semibold;\n      font-size: $ms-font-size-m;\n      height: 32px;\n      line-height: 32px;\n      margin: 0 4px;\n      vertical-align: top;\n      display: inline-block;\n    }\n  }\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleDirectory/PeopleDirectory.tsx",
    "content": "import * as React from 'react';\nimport { SPHttpClient, SPHttpClientResponse } from '@microsoft/sp-http';\nimport styles from './PeopleDirectory.module.scss';\nimport {\n  Spinner,\n  SpinnerSize\n} from '@fluentui/react/lib/Spinner';\nimport {\n  MessageBar,\n  MessageBarType\n} from '@fluentui/react/lib/MessageBar';\nimport { WebPartTitle } from \"@pnp/spfx-controls-react/lib/WebPartTitle\";\nimport {\n  IPeopleDirectoryProps,\n  IPeopleDirectoryState,\n  IPeopleSearchResults,\n  IPerson,\n  ICell\n} from '.';\nimport { IndexNavigation } from '../IndexNavigation';\nimport { PeopleList } from '../PeopleList';\nimport * as strings from 'PeopleDirectoryWebPartStrings';\n\nexport class PeopleDirectory extends React.Component<IPeopleDirectoryProps, IPeopleDirectoryState> {\n  constructor(props: IPeopleDirectoryProps) {\n    super(props);\n\n    this.state = {\n      loading: false,\n      errorMessage: null,\n      selectedIndex: 'A',\n      searchQuery: '',\n      people: []\n    };\n  }\n\n  private _handleIndexSelect = (index: string): void => {\n    // switch the current tab to the tab selected in the navigation\n    // and reset the search query\n    this.setState({\n      selectedIndex: index,\n      searchQuery: ''\n    },\n      function () {\n        // load information about people matching the selected tab\n        this._loadPeopleInfo(index, null);\n      });\n\n  }\n\n  private _handleSearch = (searchQuery: string): void => {\n    // activate the Search tab in the navigation and set the\n    // specified text as the current search query\n    this.setState({\n      selectedIndex: 'Search',\n      searchQuery: searchQuery\n    },\n      function () {\n        // load information about people matching the specified search query\n        this._loadPeopleInfo(null, searchQuery);\n      });\n\n  }\n\n  private _handleSearchClear = (): void => {\n    // activate the A tab in the navigation and clear the previous search query\n    this.setState({\n      selectedIndex: 'A',\n      searchQuery: ''\n    },\n      function () {\n        // load information about people whose last name begins with A\n        this._loadPeopleInfo('A', null);\n      });\n  }\n\n  /**\n   * Loads information about people using SharePoint Search\n   * @param index Selected tab in the index navigation or 'Search', if the user is searching\n   * @param searchQuery Current search query or empty string if not searching\n   */\n  private _loadPeopleInfo(index: string, searchQuery: string): void {\n    // update the UI notifying the user that the component will now load its data\n    // clear any previously set error message and retrieved list of people\n    this.setState({\n      loading: true,\n      errorMessage: null,\n      people: []\n    });\n\n    const headers: HeadersInit = new Headers();\n    // suppress metadata to minimize the amount of data loaded from SharePoint\n    headers.append(\"accept\", \"application/json;odata.metadata=none\");\n\n    // if no search query has been specified, retrieve people whose last name begins with the\n    // specified letter. if a search query has been specified, escape any ' (single quotes)\n    // by replacing them with two '' (single quotes). Without this, the search query would fail\n    let query: string = searchQuery === null ? `LastName:${index}*` : searchQuery.replace(/'/g, `''`);\n    if (query.lastIndexOf('*') !== query.length - 1) {\n      query += '*';\n    }\n\n    // retrieve information about people using SharePoint People Search\n    // sort results ascending by the last name\n    this.props.spHttpClient\n      .get(`${this.props.webUrl}/_api/search/query?querytext='${query}'&selectproperties='FirstName,LastName,PreferredName,WorkEmail,PictureURL,WorkPhone,MobilePhone,JobTitle,Department,Skills,PastProjects'&sortlist='LastName:ascending'&sourceid='b09a7990-05ea-4af9-81ef-edfab16c4e31'&rowlimit=500`, SPHttpClient.configurations.v1, {\n        headers: headers\n      })\n      .then((res: SPHttpClientResponse): Promise<IPeopleSearchResults> => {\n        return res.json();\n      })\n      .then((res: IPeopleSearchResults): void => {\n        if (res.error) {\n          // There was an error loading information about people.\n          // Notify the user that loading data is finished and return the\n          // error message that occurred\n          this.setState({\n            loading: false,\n            errorMessage: res.error.message\n          });\n          return;\n        }\n\n        if (res.PrimaryQueryResult.RelevantResults.TotalRows == 0) {\n          // No results were found. Notify the user that loading data is finished\n          this.setState({\n            loading: false\n          });\n          return;\n        }\n\n        // convert the SharePoint People Search results to an array of people\n        let people: IPerson[] = res.PrimaryQueryResult.RelevantResults.Table.Rows.map(r => {\n          return {\n            name: this._getValueFromSearchResult('PreferredName', r.Cells),\n            firstName: this._getValueFromSearchResult('FirstName', r.Cells),\n            lastName: this._getValueFromSearchResult('LastName', r.Cells),\n            phone: this._getValueFromSearchResult('WorkPhone', r.Cells),\n            mobile: this._getValueFromSearchResult('MobilePhone', r.Cells),\n            email: this._getValueFromSearchResult('WorkEmail', r.Cells),\n            photoUrl: `${this.props.webUrl}${\"/_layouts/15/userphoto.aspx?size=M&accountname=\" + this._getValueFromSearchResult('WorkEmail', r.Cells)}`,\n            function: this._getValueFromSearchResult('JobTitle', r.Cells),\n            department: this._getValueFromSearchResult('Department', r.Cells),\n            skills: this._getValueFromSearchResult('Skills', r.Cells),\n            projects: this._getValueFromSearchResult('PastProjects', r.Cells)\n          };\n        });\n\n        const selectedIndex = this.state.selectedIndex;\n\n        if (this.state.searchQuery === '') {\n          // An Index is used to search people.\n          //Reduce the people collection if the first letter of the lastName of the person is not equal to the selected index\n          people = people.reduce((result: IPerson[], person: IPerson) => {\n            if (person.lastName && person.lastName.indexOf(selectedIndex) === 0) {\n              result.push(person);\n            }\n            return result;\n          }, []);\n        }\n\n        if (people.length > 0) {\n          // notify the user that loading the data is finished and return the loaded information\n          this.setState({\n            loading: false,\n            people: people\n          });\n        }\n        else {\n          // People collection could be reduced to zero, so no results\n          this.setState({\n            loading: false\n          });\n          return;\n        }\n      }, (error: any): void => {\n        // An error has occurred while loading the data. Notify the user\n        // that loading data is finished and return the error message.\n        this.setState({\n          loading: false,\n          errorMessage: error\n        });\n      })\n      .catch((error: any): void => {\n        // An exception has occurred while loading the data. Notify the user\n        // that loading data is finished and return the exception.\n        this.setState({\n          loading: false,\n          errorMessage: error\n        });\n      });\n  }\n\n  /**\n   * Retrieves the value of the particular managed property for the current search result.\n   * If the property is not found, returns an empty string.\n   * @param key Name of the managed property to retrieve from the search result\n   * @param cells The array of cells for the current search result\n   */\n  private _getValueFromSearchResult(key: string, cells: ICell[]): string {\n    for (let i: number = 0; i < cells.length; i++) {\n      if (cells[i].Key === key) {\n        return cells[i].Value;\n      }\n    }\n\n    return '';\n  }\n\n  public componentDidMount(): void {\n    // load information about people after the component has been\n    // initiated on the page\n    this._loadPeopleInfo(this.state.selectedIndex, null);\n  }\n\n  public render(): React.ReactElement<IPeopleDirectoryProps> {\n    const { loading, errorMessage, selectedIndex, searchQuery, people } = this.state;\n\n    return (\n      <div className={styles.peopleDirectory}>\n        {!loading &&\n          errorMessage &&\n          // if the component is not loading data anymore and an error message\n          // has been returned, display the error message to the user\n          <MessageBar\n            messageBarType={MessageBarType.error}\n            isMultiline={false}>{strings.ErrorLabel}: {errorMessage}</MessageBar>\n        }\n        <WebPartTitle\n          displayMode={this.props.displayMode}\n          title={this.props.title}\n          updateProperty={this.props.onTitleUpdate} />\n        <IndexNavigation\n          selectedIndex={selectedIndex}\n          searchQuery={searchQuery}\n          onIndexSelect={this._handleIndexSelect}\n          onSearch={this._handleSearch}\n          onSearchClear={this._handleSearchClear}\n          locale={this.props.locale} />\n        {loading &&\n          // if the component is loading its data, show the spinner\n          <Spinner size={SpinnerSize.large} label={strings.LoadingSpinnerLabel} />\n        }\n        {!loading &&\n          !errorMessage &&\n          // if the component is not loading data anymore and no errors have occurred\n          // render the list of retrieved people\n          <PeopleList\n            selectedIndex={selectedIndex}\n            hasSearchQuery={searchQuery !== ''}\n            people={people} />\n        }\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleDirectory/index.ts",
    "content": "export * from './IPeopleDirectoryProps';\nexport * from './IPeopleDirectoryState';\nexport * from './PeopleDirectory';\nexport * from './IPerson';\nexport * from './IPeopleSearchResults';"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleDirectory.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.peopleDirectory {\n  .container {\n    max-width: 700px;\n    margin: 0px auto;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1);\n  }\n\n  .row {\n    @include ms-Grid-row;\n    @include ms-fontColor-white;\n    background-color: $ms-color-themeDark;\n    padding: 20px;\n  }\n\n  .column {\n    @include ms-Grid-col;\n    @include ms-lg10;\n    @include ms-xl8;\n    @include ms-xlPush2;\n    @include ms-lgPush1;\n  }\n\n  .title {\n    @include ms-font-xl;\n    @include ms-fontColor-white;\n  }\n\n  .subTitle {\n    @include ms-font-l;\n    @include ms-fontColor-white;\n  }\n\n  .description {\n    @include ms-font-l;\n    @include ms-fontColor-white;\n  }\n\n  .button {\n    // Our button\n    text-decoration: none;\n    height: 32px;\n\n    // Primary Button\n    min-width: 80px;\n    background-color: $ms-color-themePrimary;\n    border-color: $ms-color-themePrimary;\n    color: $ms-color-white;\n\n    // Basic Button\n    outline: transparent;\n    position: relative;\n    font-family: \"Segoe UI WestEuropean\",\"Segoe UI\",-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif;\n    -webkit-font-smoothing: antialiased;\n    font-size: $ms-font-size-m;\n    font-weight: $ms-font-weight-regular;\n    border-width: 0;\n    text-align: center;\n    cursor: pointer;\n    display: inline-block;\n    padding: 0 16px;\n\n    .label {\n      font-weight: $ms-font-weight-semibold;\n      font-size: $ms-font-size-m;\n      height: 32px;\n      line-height: 32px;\n      margin: 0 4px;\n      vertical-align: top;\n      display: inline-block;\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleList/IPeopleListProps.ts",
    "content": "import { IPerson } from \"../PeopleDirectory\";\n\n/**\n * Properties for the people list component\n */\nexport interface IPeopleListProps {\n  /**\n   * Array of people matching the selected tab or the current search query\n   */\n  people: IPerson[];\n  /**\n   * Currently selected tab, eg. 'A'\n   */\n  selectedIndex: string;\n  /**\n   * True if the user is searching for people\n   */\n  hasSearchQuery: boolean;\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleList/IPeopleListState.ts",
    "content": "import { IPerson } from \"../PeopleDirectory\";\n\nexport interface IPeopleListState {\n  showCallOut: boolean;\n  calloutElement: number;\n  person: IPerson;\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleList/PeopleList.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.persona_card{\n  align-items: center;\n  border: 1px solid \"[theme:neutralLight, default: #eaeaea]\";\n  display: flex;\n  justify-content: space-between;\n  margin-bottom: 1rem;\n  padding: 1rem;\n  position: relative;\n\tmax-width: var(--maxPersonaWidth);\n  // @media (min-width: $ms-screen-min-lg){\n  //   max-width: 50%;\n  // }\n  .persona{\n    align-items: center;\n    display: inline-flex;\n    height: 1.4rem;\n    justify-content: center;\n    position: absolute;\n    right: 1rem;\n    width: 1.4rem;\n    i{\n      color: \"[theme:themeSecondary, default: #2b88d8]\";\n      cursor: pointer;\n      font-size: 1.4rem;\n    }\n  }\n  .callout {\n    display: hidden;\n  }\n  .calloutShow {\n    display: block;\n  }\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleList/PeopleList.tsx",
    "content": "import * as React from 'react';\nimport { IPeopleListProps } from '.';\nimport {\n  Persona,\n  PersonaSize\n} from '@fluentui/react/lib/Persona';\nimport * as strings from 'PeopleDirectoryWebPartStrings';\nimport styles from './PeopleList.module.scss';\nimport { Callout, DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { IPeopleListState } from './IPeopleListState';\nimport { PeopleCallout } from '../PeopleCallout';\nimport { IPerson } from '../PeopleDirectory';\n\nexport class PeopleList extends React.Component<IPeopleListProps, IPeopleListState> {\n  constructor(props: IPeopleListProps) {\n    super(props);\n\n    this.state = {\n      showCallOut: false,\n      calloutElement: null,\n      person: null\n    };\n\n    //this._onPersonaClicked = this._onPersonaClicked.bind(this);\n    this._onCalloutDismiss = this._onCalloutDismiss.bind(this);\n  }\n\n  public render(): React.ReactElement<IPeopleListProps> {\n    return (\n      <div>\n        {this.props.people.length === 0 &&\n          (this.props.selectedIndex !== 'Search' ||\n            (this.props.selectedIndex === 'Search' &&\n              this.props.hasSearchQuery)) &&\n              // Show the 'No people found' message if no people have been retrieved\n              // and the user either selected a letter in the navigation or issued\n              // a search query (but not when navigated to the Search tab without\n              // providing a query yet)\n          <div className='ms-textAlignCenter'>{strings.NoPeopleFoundLabel}</div>}\n        {this.props.people.length > 0 &&\n          // for each retrieved person, create a persona card with the retrieved\n          // information\n          //this.props.people.map(p => <Persona primaryText={p.name} secondaryText={p.email} tertiaryText={p.phone} imageUrl={p.photoUrl} imageAlt={p.name} size={PersonaSize.size72} />)\n          this.props.people.map((p,i) => {\n            const phone: string = p.phone && p.mobile ? `${p.phone}/${p.mobile}`: p.phone ? p.phone: p.mobile;\n            // const toggleClassName: string = this.state.toggleClass ? `ms-Icon--ChromeClose ${styles.isClose}` : \"ms-Icon--ContactInfo\";\n            return (\n              <div key={i} className={styles.persona_card}>\n                <Persona primaryText={p.name} secondaryText={p.email} tertiaryText={phone} imageUrl={p.photoUrl} imageAlt={p.name} size={PersonaSize.size72} />\n                <div id={`callout${i}`} onClick={this._onPersonaClicked(i, p)} className={styles.persona}>\n                  <i className=\"ms-Icon ms-Icon--ContactInfo\" aria-hidden=\"true\"></i>\n                </div>\n                { this.state.showCallOut && this.state.calloutElement === i && (\n                <Callout\n                  className={this.state.showCallOut ? styles.calloutShow: styles.callout}\n                  gapSpace={16}\n                  target={`#callout${i}`}\n                  isBeakVisible={true}\n                  beakWidth={18}\n                  setInitialFocus={true}\n                  onDismiss={this._onCalloutDismiss}\n                  directionalHint={DirectionalHint.rightCenter}\n                  doNotLayer={false}\n                >\n                  <PeopleCallout person={this.state.person}></PeopleCallout>\n                </Callout>\n                )}\n              </div>\n            );\n          })\n        }\n      </div>\n    );\n  }\n\n  private _onPersonaClicked = (index: number, person: IPerson) => (_event: any) => {\n    this.setState({\n      showCallOut: !this.state.showCallOut,\n      calloutElement: index,\n      person: person\n    });\n  }\n\n  private _onCalloutDismiss = (_event: any) => {\n    this.setState({\n      showCallOut: false,\n    });\n  }\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/PeopleList/index.ts",
    "content": "export * from './IPeopleListProps';\nexport * from './PeopleList';"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/Search/ISearchProps.ts",
    "content": "/**\n * Properties for the search component\n */\nexport interface ISearchProps {\n  /**\n   * Current search query\n   */\n  searchQuery: string;\n  /**\n   * Event handler for issuing a search query\n   */\n  onSearch: (searchQuery: string) => void;\n  /**\n   * Event handler for clearing the current search query\n   */\n  onClear: () => void;\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/Search/Search.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n.search {\n    .searchBox {\n        width: 30em;\n        margin: 1em auto;\n    }\n}"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/Search/Search.tsx",
    "content": "import * as React from 'react';\nimport styles from './Search.module.scss';\nimport { ISearchProps } from '.';\nimport {\n  SearchBox\n} from '@fluentui/react/lib/SearchBox';\nimport * as strings from 'PeopleDirectoryWebPartStrings';\n\nexport class Search extends React.Component<ISearchProps, {}> {\n  private _handleSearch = (searchQuery: string): void => {\n    this.props.onSearch(searchQuery);\n  }\n\n  private _handleClear = (): void => {\n    this.props.onClear();\n  }\n\n  public render(): React.ReactElement<ISearchProps> {\n    return (\n      <div className={styles.search}>\n        <SearchBox\n          placeholder={strings.SearchBoxPlaceholder}\n          onSearch={this._handleSearch}\n          onClear={this._handleClear}\n          value={this.props.searchQuery}\n          className={styles.searchBox}\n        />\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/components/Search/index.ts",
    "content": "export * from './Search';\nexport * from './ISearchProps';"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"SearchButtonText\": \"Suchen\",\n    \"LoadingSpinnerLabel\": \"Lade Personenverzeichnis...\",\n    \"NoPeopleFoundLabel\": \"Keine Personen gefunden\",\n    \"SearchBoxPlaceholder\": \"Suche\",\n    \"Error\": \"Fehler\",\n    \"SkillsLabel\": \"Fähigkeiten\",\n    \"ProjectsLabel\": \"Projekte\",\n    \"CopyEmailLabel\": \"Kopiere Emailadresse in die Zwischenablage\",\n    \"CopyPhoneLabel\": \"Kopiere Phonenumber in die Zwischenablage\",\n    \"CopyMobileLabel\": \"Kopiere Mobilefunknummer in die Zwischenablage\"\n  }\n});"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"SearchButtonText\": \"Search\",\n    \"LoadingSpinnerLabel\": \"Loading people directory...\",\n    \"NoPeopleFoundLabel\": \"No people found\",\n    \"SearchBoxPlaceholder\": \"Search\",\n    \"Error\": \"Error\",\n    \"SkillsLabel\": \"Skills\",\n    \"ProjectsLabel\": \"Projects\",\n    \"CopyEmailLabel\": \"Copy email to clipboard\",\n    \"CopyPhoneLabel\": \"Copy phone to clipboard\",\n    \"CopyMobileLabel\": \"Copy mobile to clipboard\"\n  }\n});"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"SearchButtonText\": \"Buscar\",\n    \"LoadingSpinnerLabel\": \"Cargando directorio de personas...\",\n    \"NoPeopleFoundLabel\": \"No se ha encontrado personas\",\n    \"SearchBoxPlaceholder\": \"Buscar\",\n    \"Error\": \"Error\"\n  }\n});\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"SearchButtonText\": \"Chercher\",\n    \"LoadingSpinnerLabel\": \"Chargement du répertoire de personnes ...\",\n    \"NoPeopleFoundLabel\": \"Aucune personne trouvée\",\n    \"SearchBoxPlaceholder\": \"Chercher\",\n    \"Error\": \"Erreur\",\n    \"SkillsLabel\": \"Compétences\",\n    \"ProjectsLabel\": \"Projets\",\n    \"CopyEmailLabel\": \"Copier l'email dans le presse papier\",\n    \"CopyPhoneLabel\": \"Copier le téléphone dans le presse papier\",\n    \"CopyMobileLabel\": \"Copier le mobile dans le presse-papier\"\n  }\n});"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/loc/mystrings.d.ts",
    "content": "declare interface IPeopleDirectoryWebPartStrings {\n  SearchButtonText: string;\n  LoadingSpinnerLabel: string;\n  NoPeopleFoundLabel: string;\n  SearchBoxPlaceholder: string;\n  ErrorLabel: string;\n  SkillsLabel: string;\n  ProjectsLabel: string;\n  CopyEmailLabel: string;\n  CopyPhoneLabel: string;\n  CopyMobileLabel: string;\n}\n\ndeclare module 'PeopleDirectoryWebPartStrings' {\n  const strings: IPeopleDirectoryWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"SearchButtonText\": \"Søk\",\n    \"LoadingSpinnerLabel\": \"Laster personkatalogen...\",\n    \"NoPeopleFoundLabel\": \"Ingen personer funnet\",\n    \"SearchBoxPlaceholder\": \"Søk\",\n    \"Error\": \"Feil\",\n    \"SkillsLabel\": \"Kompetanser\",\n    \"ProjectsLabel\": \"Prosjekter\",\n    \"CopyEmailLabel\": \"Kopier e-post adresse til utklippstavlen\",\n    \"CopyPhoneLabel\": \"Kopier telefonnummer til utklippstavlen\",\n    \"CopyMobileLabel\": \"Kopier mobilnummer til utklippstavlen\"\n  }\n});\n"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"SearchButtonText\": \"Zoeken\",\n      \"LoadingSpinnerLabel\": \"Collega's aan het ophalen...\",\n      \"NoPeopleFoundLabel\": \"Geen collega's gevonden\",\n      \"SearchBoxPlaceholder\": \"Zoeken\",\n      \"Error\": \"Error\",\n      \"SkillsLabel\": \"Vaardigheden\",\n      \"ProjectsLabel\": \"Projecten\",\n      \"CopyEmailLabel\": \"Kopieer email naar klembord\",\n      \"CopyPhoneLabel\": \"Kopieer telefoonnummer naar klembord\",\n      \"CopyMobileLabel\": \"Kopieer mobiel telefoonnummer naar klembord\"\n    }\n  });"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"SearchButtonText\": \"Sök\",\n    \"LoadingSpinnerLabel\": \"Laddar personkatalog...\",\n    \"NoPeopleFoundLabel\": \"Inga personer hittades\",\n    \"SearchBoxPlaceholder\": \"Sök\",\n    \"Error\": \"Fel\"\n  }\n});"
  },
  {
    "path": "source/react-people-directory/src/webparts/peopleDirectory/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"SearchButtonText\": \"Ara\",\n    \"LoadingSpinnerLabel\": \"Kişi dizini yükleniyor...\",\n    \"NoPeopleFoundLabel\": \"Hiç kimse bulunamadı\",\n    \"SearchBoxPlaceholder\": \"Arama\",\n    \"Error\": \"Hata\",\n    \"SkillsLabel\": \"Yetenekler\",\n    \"ProjectsLabel\": \"Projeler\",\n    \"CopyEmailLabel\": \"E-postayı panoya kopyala\",\n    \"CopyPhoneLabel\": \"Telefonu panoya kopyala\",\n    \"CopyMobileLabel\": \"Cep telefonunu panoya kopyala\"\n  }\n});"
  },
  {
    "path": "source/react-people-directory/tsconfig.json",
    "content": "{\n\t\"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n\t\"compilerOptions\": {\n\t  \"target\": \"es5\",\n\t  \"forceConsistentCasingInFileNames\": true,\n\t  \"module\": \"esnext\",\n\t  \"moduleResolution\": \"node\",\n\t  \"jsx\": \"react\",\n\t  \"declaration\": true,\n\t  \"sourceMap\": true,\n\t  \"experimentalDecorators\": true,\n\t  \"skipLibCheck\": true,\n\t  \"outDir\": \"lib\",\n\t  \"inlineSources\": false,\n\t  \"strictNullChecks\": false,\n\t  \"noImplicitAny\": true,\n\t  \"typeRoots\": [\n\t\t\"./node_modules/@types\",\n\t\t\"./node_modules/@microsoft\"\n\t  ],\n\t  \"types\": [\n\t\t\"webpack-env\"\n\t  ],\n\t  \"lib\": [\n\t\t\"es5\",\n\t\t\"dom\",\n\t\t\"es2015.collection\",\n\t\t\"es2015.promise\"\n\t  ]\n\t},\n\t\"include\": [\n\t  \"src/**/*.ts\",\n\t  \"src/**/*.tsx\"\n\t]\n  }  "
  },
  {
    "path": "source/react-personal-calendar/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-personal-calendar/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 0,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // react/self-closing-comp\n        // ====================================================================\n        'react/self-closing-comp': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-personal-calendar/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-personal-calendar/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-personal-calendar/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-personal-calendar/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-personal-calendar/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-personal-calendar\",\n    \"libraryId\": \"a30bc805-c1fb-46ef-9278-8226be832374\",\n    \"packageManager\": \"npm\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-personal-calendar/README.md",
    "content": "# Personal Calendar web part\n\nThis web part provides you the ability to add a particular user's personal calendar on a web page. The web part may be configured to automatically refresh, as well as display up to seven days of events and a pre-defined number of events at a time. This web part is powered by the Microsoft Graph.\n\nThis webpart is a technology demostrator of Microsoft Graph Toolkit React components, in particular \"Agenda\". This webpart uses the @microsoft/mgt-react and @microsoft/mgt-spfx packages, currently version 2.9.0.\n\n> `NOTE:` This webpart includes the use of a custom SPFx library, [library-starter-kit-shared](../library-starter-kit-shared). If you need to rebuild / bundle / package this solution, refer to [Minimal Path to Awesome](#Minimal-Path-to-Awesome)\n\n> `NOTE:` This webpart includes the use the Microsoft Graph Toolkit with React, [@microsoft/mgt-react](https://www.npmjs.com/package/@microsoft/mgt-react).\n\n> `NOTE:` This webpart includes the use the Microsoft Graph Toolkit with React SPFx, [@microsoft/mgt-spfx](../mgt-spfx/README.md) with a dependency on [mgt-spfx-2.9.0.sppkg](https://github.com/microsoftgraph/microsoft-graph-toolkit/releases) that must be installed to the tenant app catalog. By default the Starter Kit will install this additional dependency.\n\n![Personal Calendar](../../assets/images/components/part-personal-calendar.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Personal Calendar** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Personal Calendar` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Upcoming Events | title | string | no | The web part title, editable inline with the web part itself |\n| How often to check for new upcoming meetings (in minutes) | refreshInterval | number | no | Default: 5 - the interval in minutes between auto refresh |\n| How many days in advance to retrieve meetings for? 0 - today only | daysInAdvance | number | no | Default: 0 (Today only) - the interval in minutes between auto refresh |\n| How many meetings to show? 0 - show all retrieved meetings | numMeetings | number | no | Default: 0 (all) - the interval in minutes between auto refresh |\n| Show Calendar | showCalendar | bool | no | Show or hide the calendar component |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n\n## Prerequisites\n\n* [library-starter-kit-shared](../library-starter-kit-shared) - must be installed to the tenant app catalog. By default the Starter Kit will install this additional dependency. If you need to rebuild / bundle / package this solution, refer to [Minimal Path to Awesome](#Minimal-Path-to-Awesome)\n\n* [mgt-spfx-2.9.0.sppkg](https://github.com/microsoftgraph/microsoft-graph-toolkit/releases) must be installed to the tenant app catalog. By default the Starter Kit will install this additional dependency.\n\n\n## Minimal Path to Awesome\n\nThis solution uses a SPFx library, [library-starter-kit-shared](../library-starter-kit-shared). As such, additional steps are required to rebuild this project.\n\n1. Clone this entire project\n2. Within the [library-starter-kit-shared](../library-starter-kit-shared) source, i.e. [./source/library-starter-kit-shared](../library-starter-kit-shared)\n  \n  ```powershell\n  npm install\n  gulp build\n  gulp bundle\n  npm link\n  ```\n\n3. Within this SPFx solution folder [react-personal-calendar](./), i.e. [./source/react-personal-calendar](../react-personal-calendar)\n  * in the command line run:\n  \n  ```powershell\n  npm install\n  npm link @starter-kit/shared-library\n  ```\n\n4. Edit package.json found at the root of the [react-personal-calendar](./), i.e. [./source/react-personal-calendar/package.json](../react-personal-calendar/package.json)\n\n  - Add a new dependancy to the project: \"@starter-kit/shared-library\": \"3.0.0\"\n\n  **Example**:\n\n  ```xml\n    \"dependencies\": {\n      \"@microsoft/mgt-react\": \"2.9.0\",\n      \"@microsoft/mgt-spfx\": \"2.9.0\",\n      ...\n      \"react\": \"17.0.1\",\n      \"react-dom\": \"17.0.1\"\n    }\n  ```\n\n  to:\n\n  ```xml\n    \"dependencies\": {\n      \"@microsoft/mgt-react\": \"2.9.0\",\n      \"@microsoft/mgt-spfx\": \"2.9.0\",\n      ...\n      \"react\": \"17.0.1\",\n      \"react-dom\": \"17.0.1\"\n      \"@starter-kit/shared-library\": \"3.0.0\"\n    }\n  ```\n\n5. Within this SPFx solution folder [react-personal-calendar](./), i.e. [./source/react-personal-calendar](../react-personal-calendar)\n  \n  * in the command line run:\n  \n  ```powershell\n  gulp serve\n  ```\n\n6. To rebundle the webpart, within this SPFx solution folder [react-personal-calendar](./), i.e. [./source/react-personal-calendar](../react-personal-calendar)\n  * in the command line run:\n  \n  ```powershell\n  gulp bundle\n  gulp package-solution\n  ```\n\n> If you add this webpart's sppkg to your app catalog, the sppkg for the [shared library](../library-starter-kit-shared) must also be installed. The [library](../library-starter-kit-shared) may be built, bundled, and packaged similar to a standard SPFx webpart or extension.\n\n> The package.json within this SPFx solution file must be manually updated for if the library dependency was included by default with the project, **npm install** would fail as the [library-starter-kit-shared](../library-starter-kit-shared) package would not be found. Linking the two projects allows this webpart to reference the library during **development**, while the package.json reference is required for **bundling and packaging**.\n\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Using Microsoft Graph and the Microsoft Graph Toolkit React components within a web part\n* Using [SharePoint Framework library components](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/library-component-overview_)\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-personal-calendar | Waldek Mastykarz\nreact-personal-calendar | Beau Cameron\nreact-personal-calendar | Eric Overfield\n\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May, 2018|Initial release\n2.0|November 29,2019|v2.0\n2.1|November 2020|Include Microsoft Graph Toolkit React components\n2.3|August 2021|Upgrade to MGT 2.2.1\n3.0|February 2023|Upgrade to SPFx v1.16.1\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-personal-calendar\" />"
  },
  {
    "path": "source/react-personal-calendar/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"personal-calendar-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/personalCalendar/PersonalCalendarWebPart.js\",\n          \"manifest\": \"./src/webparts/personalCalendar/PersonalCalendarWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"PersonalCalendarWebPartStrings\": \"lib/webparts/personalCalendar/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-personal-calendar/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-personal-calendar\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-personal-calendar/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Personal Calendar\",\n    \"id\": \"a30bc805-c1fb-46ef-9278-8226be832374\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-personal-calendar description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-personal-calendar description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - Personal Calendar WebPart Feature\",\n        \"description\": \"The feature that activates Personal Calendar Webpart from the Starter Kit - Personal Calendar solution.\",\n        \"id\": \"6d28e73b-ed80-494e-8238-c0106c26b36a\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"6d28e73b-ed80-494e-8238-c0106c26b36a\"\n        ]\n      }\n    ],\n    \"webApiPermissionRequests\": [\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"MailboxSettings.Read\"\n      },\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"Calendars.Read\"\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-personal-calendar.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-personal-calendar/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-personal-calendar/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-personal-calendar/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-personal-calendar/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-personal-calendar/package.json",
    "content": "{\n    \"name\": \"react-personal-calendar\",\n    \"version\": \"3.0.0\",\n    \"private\": true,\n    \"main\": \"lib/index.js\",\n    \"engines\": {\n        \"node\": \">=16.13.0 <17.0.0\"\n    },\n    \"scripts\": {\n        \"build\": \"gulp bundle\",\n        \"clean\": \"gulp clean\",\n        \"test\": \"gulp test\"\n    },\n    \"dependencies\": {\n        \"@microsoft/mgt-react\": \"2.9.0\",\n        \"@microsoft/mgt-spfx\": \"2.9.0\",\n        \"@microsoft/sp-core-library\": \"1.16.1\",\n        \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n        \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n        \"@microsoft/sp-property-pane\": \"1.16.1\",\n        \"@microsoft/sp-webpart-base\": \"1.16.1\",\n        \"@pnp/spfx-controls-react\": \"3.12.0\",\n        \"@pnp/spfx-property-controls\": \"3.11.0\",\n        \"date-fns\": \"2.29.3\",\n        \"react\": \"17.0.1\",\n        \"react-dom\": \"17.0.1\",\n        \"tslib\": \"2.3.1\",\n        \"windows-iana\": \"5.1.0\"\n    },\n    \"resolutions\": {\n        \"@types/react\": \"16.8.8\"\n    },\n    \"devDependencies\": {\n        \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n        \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n        \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n        \"@microsoft/sp-build-web\": \"1.16.1\",\n        \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n        \"@rushstack/eslint-config\": \"2.5.1\",\n        \"@types/es6-promise\": \"0.0.33\",\n        \"@types/react\": \"17.0.45\",\n        \"@types/react-dom\": \"17.0.17\",\n        \"@types/webpack-env\": \"1.15.2\",\n        \"ajv\": \"6.12.5\",\n        \"eslint-plugin-react-hooks\": \"4.3.0\",\n        \"gulp\": \"4.0.2\",\n        \"typescript\": \"4.5.5\"\n    }\n}\n"
  },
  {
    "path": "source/react-personal-calendar/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/PersonalCalendarWebPart.manifest.json",
    "content": "{\n    \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n    \"id\": \"6d28e73b-ed80-494e-8238-c0106c26b36a\",\n    \"alias\": \"PersonalCalendarWebPart\",\n    \"componentType\": \"WebPart\",\n\n    // The \"*\" signifies that the version should be taken from the package.json\n    \"version\": \"*\",\n    \"manifestVersion\": 2,\n\n    // If true, the component can only be installed on sites where Custom Script is allowed.\n    // Components that allow authors to embed arbitrary script code should set this to true.\n    // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n    \"requiresCustomScript\": false,\n    \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsTab\", \"TeamsPersonalApp\"],\n    \"supportsThemeVariants\": true,\n    \"preconfiguredEntries\": [{\n        \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n        \"group\": { \"default\": \"Other\" },\n        \"title\": { \"default\": \"Personal Calendar\" },\n        \"description\": { \"default\": \"Shows upcoming meetings for the current user\" },\n        \"officeFabricIconFontName\": \"Calendar\",\n        \"properties\": {\n            \"title\": \"Upcoming meetings\",\n            \"refreshInterval\": 5,\n            \"daysInAdvance\": 0,\n            \"numMeetings\": 0\n        }\n    }]\n}"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/PersonalCalendarWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from '@microsoft/sp-webpart-base';\nimport { \n  IPropertyPaneConfiguration, \n  PropertyPaneSlider,\n  PropertyPaneCheckbox\n} from \"@microsoft/sp-property-pane\";\nimport * as strings from 'PersonalCalendarWebPartStrings';\nimport { SpStarterKitSharedLibrary } from '@starter-kit/shared-library';\nimport PersonalCalendar from './components/PersonalCalendar';\nimport { IPersonalCalendarProps } from './components/IPersonalCalendarProps';\nimport { Providers, SharePointProvider } from '@microsoft/mgt-spfx';\nimport {\n  IReadonlyTheme,\n  ThemeChangedEventArgs,\n  ThemeProvider\n} from \"@microsoft/sp-component-base\";\n\nexport interface IPersonalCalendarWebPartProps {\n  title: string;\n  refreshInterval: number;\n  daysInAdvance: number;\n  numMeetings: number;\n  showCalendar: boolean;\n}\n\nexport default class PersonalCalendarWebPart extends BaseClientSideWebPart<IPersonalCalendarWebPartProps> {\n  private propertyFieldNumber: any;\n  private _themeProvider: ThemeProvider;\n  private _themeVariant: IReadonlyTheme | undefined;\n\n  public onInit(): Promise<void> {\n    Providers.globalProvider = new SharePointProvider(this.context);\n\n    this._themeProvider = this.context.serviceScope.consume(\n      ThemeProvider.serviceKey\n    );\n    // If it exists, get the theme variant\n    this._themeVariant = this._themeProvider.tryGetTheme();\n    // Register a handler to be notified if the theme variant changes\n    this._themeProvider.themeChangedEvent.add(\n      this,\n      this._handleThemeChangedEvent\n    );\n\n    return Promise.resolve();\n  }\n\n  public render(): void {\n    const element: React.ReactElement<IPersonalCalendarProps> = React.createElement(\n      PersonalCalendar,\n      {\n        title: this.properties.title,\n        refreshInterval: this.properties.refreshInterval,\n        daysInAdvance: this.properties.daysInAdvance,\n        numMeetings: this.properties.numMeetings,\n        showCalendar: this.properties.showCalendar,\n        // pass the current display mode to determine if the title should be\n        // editable or not\n        displayMode: this.displayMode,\n        themeVariant: this._themeVariant,\n        // handle updated web part title\n        updateProperty: (value: string): void => {\n          // store the new title in the title web part property\n          this.properties.title = value;\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  //executes only before property pane is loaded.\n  protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n\n    const { PropertyFieldNumber } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-number' */\n      '@pnp/spfx-property-controls/lib/propertyFields/number'\n    );\n\n    this.propertyFieldNumber = PropertyFieldNumber;\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupFields: [\n                this.propertyFieldNumber(\"refreshInterval\", {\n                  key: \"refreshInterval\",\n                  // label: strings.RefreshInterval,\n                  label: SpStarterKitSharedLibrary.getLocale('RefreshInterval'),\n                  value: this.properties.refreshInterval,\n                  minValue: 1,\n                  maxValue: 60\n                }),\n                PropertyPaneSlider('daysInAdvance', {\n                  label: strings.DaysInAdvance,\n                  min: 0,\n                  max: 7,\n                  step: 1,\n                  value: this.properties.daysInAdvance\n                }),\n                PropertyPaneSlider('numMeetings', {\n                  label: strings.NumMeetings,\n                  min: 0,\n                  max: 20,\n                  step: 1,\n                  value: this.properties.numMeetings\n                }),\n                PropertyPaneCheckbox('showCalendar', {\n                  text: strings.ShowCalendar,\n                  checked: this.properties.showCalendar\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n\n  private _handleThemeChangedEvent(args: ThemeChangedEventArgs): void {\n    this._themeVariant = args.theme;\n\n    this.render();\n  }\n}"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/components/IMeeting.ts",
    "content": "export interface IMeetings {\n  value: IMeeting[];\n}\n\nexport interface IMeeting {\n  end: IMeetingTime;\n  isAllDay: boolean;\n  location: {\n    displayName: string;\n  };\n  showAs: string;\n  start: IMeetingTime;\n  subject: string;\n  webLink: string;\n}\n\nexport interface IMeetingTime {\n  dateTime: string;\n  timeZone: string;\n}"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/components/IPersonalCalendarProps.ts",
    "content": "import { IPersonalCalendarWebPartProps } from \"../PersonalCalendarWebPart\";\nimport { DisplayMode } from \"@microsoft/sp-core-library\";\nimport { IReadonlyTheme } from '@microsoft/sp-component-base';\n\nexport interface IPersonalCalendarProps extends IPersonalCalendarWebPartProps {\n  displayMode: DisplayMode;\n  themeVariant: IReadonlyTheme | undefined;\n  updateProperty: (value: string) => void;\n}\n"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/components/IPersonalCalendarState.ts",
    "content": "import { IMeeting } from '.';\n\nexport interface IPersonalCalendarState {\n  error: string;\n  loading: boolean;\n  meetings: IMeeting[];\n  renderedDateTime: Date;\n  timeZone?: string;\n}"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/components/PersonalCalendar.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.personalCalendar {\n    @include ms-font-m;\n    padding: 1em;\n    --varientBGColor: $ms-color-themePrimary;\n    --varientDividerColor: $ms-color-themePrimary;\n    --varientFontcolor: $ms-color-gray160;\n    color: var(--varientFontcolor);\n    button * {\n        color: var(--varientFontcolor) !important;\n    }\n    .list {\n        margin-top: 1em;\n        margin-bottom: 1em;\n    }\n    .meetingDate {\n        padding: 0.5em;\n        font-size: 1.1em;\n    }\n    // Override for PnP SPFX webPartTitle font\n    .personalCalendarTitle * {\n        font-size: 20px !important;\n        font-weight: 600 !important;\n        color: var(--varientFontcolor) !important;\n    }\n    .meeting {\n        display: block;\n        padding: 0.5em 10px;\n        color: var(--varientFontcolor);\n        &:hover {\n            color: var(--varientBGColor);\n            background: var(--varientFontcolor);\n        }\n    }\n    .linkWrapper {\n        display: -webkit-box;\n        flex-flow: row nowrap;\n    }\n    .timeDetails {\n        flex: 0 0 auto;\n        width: 5em;\n    }\n    .divider {\n        width: 0.5em;\n        margin: 0 0.5em;\n        border-radius: 5px;\n        &:global(.tentative) {\n            background: var(--varientDividerColor) url('data:image/gif;base64,R0lGODlhBwAHAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDMUQ3NUMxRTk5MDExMUUwOTI0OEIzRjU5RDg0NTg0MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMUQ3NUMxRjk5MDExMUUwOTI0OEIzRjU5RDg0NTg0MCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkMxRDc1QzFDOTkwMTExRTA5MjQ4QjNGNTlEODQ1ODQwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkMxRDc1QzFEOTkwMTExRTA5MjQ4QjNGNTlEODQ1ODQwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAQAAAQAsAAAAAAcABwAAAgyMgRYIyp6gWk1CUAAAOw==')\n        }\n        &:global(.busy) {\n            background: var(--varientDividerColor);\n        }\n        &:global(.oof) {\n            background: indigo;\n        }\n        &:global(.workingElsewhere) {\n            background: var(--varientDividerColor) url('data:image/gif;base64,R0lGODlhAwAEAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQTIxMjhEQkEwMkUxMUUwQURCNUFBRDk1NjM2OTRBNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQTIxMjhEQ0EwMkUxMUUwQURCNUFBRDk1NjM2OTRBNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBBMjEyOEQ5QTAyRTExRTBBREI1QUFEOTU2MzY5NEE1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBBMjEyOERBQTAyRTExRTBBREI1QUFEOTU2MzY5NEE1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAQAAAQAsAAAAAAMABAAAAgQMjmBXADs=');\n        }\n    }\n    .meeting:hover .divider {\n        &:global(.busy) {\n            background: var(--varientBGColor);\n        }\n    }\n    .start {\n        display: inline;\n    }\n    .subject {\n        @include ms-fontWeight-bold;\n    }\n    .duration {\n        @include ms-fontWeight-light;\n        height: 1em;\n    }\n    .location {\n        @include ms-fontWeight-light;\n        display: inline;\n    }\n    .noMeetings {\n        @include ms-font-m;\n    }\n    .error {\n        @include ms-font-m;\n        color: $ms-color-alert;\n    }\n}"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/components/PersonalCalendar.tsx",
    "content": "import { Providers } from '@microsoft/mgt-spfx';\nimport { Agenda, MgtTemplateProps } from '@microsoft/mgt-react/dist/es6/spfx';\nimport { WebPartTitle } from '@pnp/spfx-controls-react/lib/WebPartTitle';\nimport { Link } from '@fluentui/react/lib/Link';\nimport * as strings from 'PersonalCalendarWebPartStrings';\nimport * as React from 'react';\nimport { IPersonalCalendarProps, IPersonalCalendarState } from '.';\nimport { Event } from '@microsoft/microsoft-graph-types';\nimport styles from './PersonalCalendar.module.scss';\nimport { Spinner, SpinnerSize } from '@fluentui/react/lib/Spinner';\nimport format from 'date-fns/format';\nimport { IIconProps } from '@fluentui/react/lib/Icon';\nimport { ActionButton } from '@fluentui/react/lib/Button';\nimport SimpleCalendar from './SimpleCalendar';\nimport { findIana } from 'windows-iana';\n\n\nconst EventInfo = (props: MgtTemplateProps) => {\n  /**\n   * Get user-friendly string that represents the duration of an event\n   * < 1h: x minutes\n   * >= 1h: 1 hour (y minutes)\n   * all day: All day\n   */\n  const getDuration = (_event: Event): string => {\n    if (_event.isAllDay) {\n      return strings.AllDay;\n    }\n\n    const _startDateTime: Date = new Date(_event.start.dateTime);\n    const _endDateTime: Date = new Date(_event.end.dateTime);\n    // get duration in minutes\n    const _duration: number = Math.round((_endDateTime as any) - (_startDateTime as any)) / (1000 * 60);\n    if (_duration <= 0) {\n      return '';\n    }\n\n    if (_duration < 60) {\n      return `${_duration} ${strings.Minutes}`;\n    }\n\n    const _hours: number = Math.floor(_duration / 60);\n    const _minutes: number = Math.round(_duration % 60);\n    let durationString: string = `${_hours} ${_hours > 1 ? strings.Hours : strings.Hour}`;\n    if (_minutes > 0) {\n      durationString += ` ${_minutes} ${strings.Minutes}`;\n    }\n\n    return durationString;\n  };\n\n  const event: Event | undefined = props.dataContext ? props.dataContext.event : undefined;\n\n  if (!event) {\n    return <div />;\n  }\n\n  const startTime: Date = new Date(event.start.dateTime);\n  const minutes: number = startTime.getMinutes();\n\n  return <div>\n    <Link href={event.webLink} className={styles.meeting} target='_blank'>\n      <div className={styles.linkWrapper}>\n        <div className={styles.timeDetails}>\n          <div className={styles.start}>\n            {event.isAllDay ? 'All day' : `${startTime.getHours()}:${minutes < 10 ? '0' + minutes : minutes}`}\n          </div>\n          <div className={styles.duration}>\n            {getDuration(event)}\n          </div>\n        </div>\n        <div className={`${styles.divider} ${event.showAs}`}></div>\n        <div style={{ \"wordBreak\": 'break-word', 'width': '75%' }}>\n          <div className={styles.subject}>{event.subject}</div>\n          <div className={styles.location}>{event.location.displayName}</div>\n        </div>\n      </div>\n    </Link>\n  </div>;\n\n};\n\nconst HeaderInfo = (props: MgtTemplateProps) => {\n  const day: string | undefined = props.dataContext ? props.dataContext.header : undefined;\n  return <div className={styles.meetingDate}>\n    {format(new Date(day), 'iiii, MMMM d, yyyy')}\n  </div>;\n};\n\nconst LoadingTemplate = (props: MgtTemplateProps) => {\n  return <Spinner label={strings.Loading} size={SpinnerSize.large} />;\n};\n\nexport default class PersonalCalendar extends React.Component<IPersonalCalendarProps, IPersonalCalendarState> {\n  private _interval: number;\n\n  constructor(props: IPersonalCalendarProps) {\n    super(props);\n\n    this.state = {\n      meetings: [],\n      error: undefined,\n      loading: false,\n      renderedDateTime: new Date()\n    };\n  }\n\n  private addIcon: IIconProps = { iconName: 'Add' };\n  private viewList: IIconProps = { iconName: 'AllApps' };\n\n  /**\n   * Get timezone for logged in user\n   */\n  private _getTimeZone(): Promise<string> {\n    return new Promise<string>((resolve, reject) => {\n      Providers.globalProvider.graph\n        // get the mailbox settings\n        .api(`me/mailboxSettings`)\n        .version(\"v1.0\")\n        .get((err: any, res: microsoftgraph.MailboxSettings): void => {\n          if (err) {\n            console.error(\"Error:\", err)\n            return reject(err);\n          }\n          // else {\n          //   console.log(\"Response:\", res)\n          // }\n\n          resolve(res?.timeZone);\n        });\n    });\n  }\n\n  /**\n   * Forces re-render of the component\n   */\n  private _reRender = (): void => {\n    // update the render date to force reloading data and re-rendering\n    // the component\n    this.setState({ renderedDateTime: new Date() });\n  }\n\n  /**\n   * Sets interval so that the data in the component is refreshed on the\n   * specified cycle\n   */\n  private _setInterval = (): void => {\n    let { refreshInterval } = this.props;\n    // set up safe default if the specified interval is not a number\n    // or beyond the valid range\n    if (isNaN(refreshInterval) || refreshInterval < 0 || refreshInterval > 60) {\n      refreshInterval = 5;\n    }\n    // refresh the component every x minutes\n    this._interval = window.setInterval(this._reRender, refreshInterval * 1000 * 60);\n    this._reRender();\n  }\n\n  public componentDidMount(): void {\n    this._setInterval();\n    this\n      ._getTimeZone()\n      .then((_timeZone: string): void => {\n        const convertedTimeZone = findIana(_timeZone);\n        this.setState({\n          timeZone: convertedTimeZone?.length > 1 ? convertedTimeZone[0] : convertedTimeZone[0],\n          loading: false\n        });\n      });\n  }\n\n  public componentWillUnmount(): void {\n    // remove the interval so that the data won't be reloaded\n    clearInterval(this._interval);\n  }\n\n  public componentDidUpdate(prevProps: IPersonalCalendarProps, prevState: IPersonalCalendarState): void {\n    // if the refresh interval has changed, clear the previous interval\n    // and setup new one, which will also automatically re-render the component\n    if (prevProps.refreshInterval !== this.props.refreshInterval) {\n      clearInterval(this._interval);\n      this._setInterval();\n      return;\n    }\n  }\n\n  public render(): React.ReactElement<IPersonalCalendarProps> {\n    const date: Date = new Date();\n    const now: string = date.toISOString();\n    // set the date to midnight today to load all upcoming meetings for today\n    date.setUTCHours(23);\n    date.setUTCMinutes(59);\n    date.setUTCSeconds(0);\n    date.setDate(date.getDate() + (this.props.daysInAdvance || 0));\n    const midnight: string = date.toISOString();\n\n    const varientStyles = {\n      \"--varientBGColor\": this.props.themeVariant.semanticColors.bodyBackground\n      , \"--varientFontcolor\": this.props.themeVariant.semanticColors.bodyText\n      , \"--varientDividerColor\": this.props.themeVariant.isInverted ? this.props.themeVariant.palette.neutralLight : this.props.themeVariant.palette.themePrimary\n    } as React.CSSProperties;\n\n    return (\n      <div className={styles.personalCalendar} style={varientStyles}>\n        <WebPartTitle displayMode={this.props.displayMode}\n          title={this.props.title}\n          className={styles.personalCalendarTitle}\n          updateProperty={this.props.updateProperty} />\n\n        <ActionButton text={strings.NewMeeting} iconProps={this.addIcon} onClick={this.openNewEvent} />\n        <ActionButton text={strings.ViewAll} iconProps={this.viewList} onClick={this.openList} />\n        {this.props.showCalendar && <SimpleCalendar />}\n        {\n          <>\n            <div className={styles.list}>\n              <Agenda\n                groupByDay\n                preferredTimezone={this.state.timeZone && this.state.timeZone}\n                eventQuery={`me/calendarView?startDateTime=${now}&endDateTime=${midnight}&orderby=start/dateTime&top=${this.props.numMeetings > 0 ? this.props.numMeetings : 100}`}\n              >\n                <HeaderInfo template='header' />\n                <EventInfo template='event' />\n                <LoadingTemplate template='loading' />\n              </Agenda>\n            </div>\n            <Link href='https://outlook.office.com/owa/?path=/calendar/view/Day' target='_blank'>{strings.ViewAll}</Link>\n          </>\n        }\n      </div>\n    );\n  }\n\n  private openNewEvent = () => {\n    window.open('https://outlook.office.com/calendar/deeplink/compose', '_blank');\n  }\n\n  private openList = () => {\n    window.open('https://outlook.office.com/owa/?path=/calendar/view/Day', '_blank');\n  }\n}\n"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/components/SimpleCalendar.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.calendarContainer {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(7, auto);\n\tfont-weight: bold;\n\n\t.dayContainer {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t}\n\n\t.dayWrapper {\n\t\theight: 36px;\n\t\twidth: 36px;\n\t\ttext-align: center;\n\t\tmargin: auto;\n\t}\n\n\t.day {\n\t\ttext-align: center;\n\t\tpadding: 9px 0;\n\t}\n\n\t.weekend, .past {\n\t\tcolor: grey;\n\t}\n\n\t.today {\n\t\tbackground-color: $ms-color-neutralLight;\n\t\tborder-radius: 50%;\n\t}\n\n\t.monthText {\n\t\ttext-align: center;\n\t\tfont-size: 10px;\n    padding-top: 4px;\n\t}\n\n\t.monthText + .day {\n\t\tpadding-top: 0;\n\t}\n}"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/components/SimpleCalendar.tsx",
    "content": "import * as React from 'react';\nimport styles from './SimpleCalendar.module.scss';\nimport startOfWeek from 'date-fns/startOfWeek';\nimport addDays from 'date-fns/addDays';\nimport eachDayOfInterval from 'date-fns/eachDayOfInterval';\nimport format from 'date-fns/format';\nimport getDate from 'date-fns/getDate';\nimport isToday from 'date-fns/isToday';\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays';\n\n\nfunction SimpleCalendar () {\n\tconst today = new Date();\n\tconst startDate = startOfWeek(today);\n\tconst endDate = addDays(startDate, 13);\n\n\n\treturn (\n\t\t<div className={styles.calendarContainer}>\n\t\t\t<div className={`${styles.day} ${styles.weekend}`}>S</div>\n\t\t\t<div className={styles.day}>M</div>\n\t\t\t<div className={styles.day}>T</div>\n\t\t\t<div className={styles.day}>W</div>\n\t\t\t<div className={styles.day}>T</div>\n\t\t\t<div className={styles.day}>F</div>\n\t\t\t<div className={`${styles.day} ${styles.weekend}`}>S</div>\n\t\t\t{eachDayOfInterval({start: startDate, end: endDate}).map((date: any, index: any) => {\n\t\t\t\tconst isFirstOfMonth = getDate(date) === 1;\n\t\t\t\tconst isPast = differenceInCalendarDays(today, date) > 0;\n\t\t\t\treturn (\n\t\t\t\t\t<div key={index} className={`${styles.dayContainer} ${isPast ? styles.past : ''}`}>\n\t\t\t\t\t\t<div className={`${styles.dayWrapper} ${isToday(date) ? styles.today : ''}`}>\n\t\t\t\t\t\t\t{isFirstOfMonth && <div className={styles.monthText}>{format(date, 'MMM')}</div>}\n\t\t\t\t\t\t\t<div className={styles.day}>{format(date, 'd')}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\nexport default SimpleCalendar;\n"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/components/index.ts",
    "content": "export * from './IMeeting';\nexport * from './IPersonalCalendarProps';\nexport * from './IPersonalCalendarState';\nexport * from './PersonalCalendar';"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"AllDay\": \"Ganzer Tag\",\n    \"DaysInAdvance\": \"Für wieviele Tage im vorraus sollen Besprechungen abgerufen werden? 0 - Nur Heute\",\n    \"Error\": \"Ein Fehler beim abrufen der bevorstehend Besprechungen ist aufgetreten\",\n    \"Hour\": \"Stunde\",\n    \"Hours\": \"Stunden\",\n    \"Loading\": \"Rufe bevorstehend Besprechungen auf\",\n    \"Minutes\": \"Minuten\",\n    \"NoMessages\": \"Sie haben keine  bevorstehend Besprechungen\",\n    \"NumMeetings\": \"Wieviele Besprechungen sollen angezeigt werden? 0 - Zeige alle abgerufenen Besprechungen\",\n    \"RefreshInterval\": \"Wie oft soll nach bevorstehenden Besprechungen geprüft werden(in Minuten)\",\n    \"PropertyPaneDescription\": \"Besprechungen Web Part Konfiguration\",\n    \"ViewAll\": \"Vollständige Liste anzeigen\"\n  }\n});\n"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"AllDay\": \"All day\",\n    \"DaysInAdvance\": \"How many days in advance to retrieve meetings for? 0 - today only\",\n    \"Error\": \"An error has occurred while retrieving your upcoming meetings\",\n    \"Hour\": \"hour\",\n    \"Hours\": \"hours\",\n    \"Loading\": \"Retrieving your upcoming meeting\",\n    \"Minutes\": \"minutes\",\n    \"NewMeeting\": \"New meeting\",\n    \"NoMessages\": \"You have no upcoming meetings\",\n    \"NumMeetings\": \"How many meetings to show? 0 - show all retrieved meetings\",\n    \"RefreshInterval\": \"How often to check for new upcoming meetings (in minutes)\",\n    \"PropertyPaneDescription\": \"Meetings web part configuration\",\n    \"ViewAll\": \"View the full list\",\n    \"ShowCalendar\": \"Show Calendar\"\n  }\n});"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"AllDay\": \"Todo el día\",\n    \"DaysInAdvance\": \"Cuantos días por adelantado necesita retornar reuniones? 0 - solo hoy\",\n    \"Error\": \"Ha ocurrido un error mientras retornabamos sus proximos eventos\",\n    \"Hour\": \"hora\",\n    \"Hours\": \"horas\",\n    \"Loading\": \"Cargando sus proxima reuniones\",\n    \"Minutes\": \"minutos\",\n    \"NoMessages\": \"Usted no cuenta con proximas reuniones\",\n    \"NumMeetings\": \"CCuantas reuniones mostrar? 0 - mostrar todas las reuniones obtenidas\",\n    \"RefreshInterval\": \"Que tan frecuente revisar sus proximas reuniones (en minutos)\",\n    \"PropertyPaneDescription\": \"Configuracion del elemento web de reuniones\",\n    \"ViewAll\": \"Ver la lista completa\"\n  }\n});\n"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"AllDay\": \"Toute la journée\",\n    \"DaysInAdvance\": \"Combien de jours à l'avance pour récupérer des réunions? 0 - aujourd'hui uniquement\",\n    \"Error\": \"Une erreur s'est produite lors de la récupération de vos réunions à venir\",\n    \"Hour\": \"heure\",\n    \"Hours\": \"heures\",\n    \"Loading\": \"Récupération de votre prochaine réunion\",\n    \"Minutes\": \"minutes\",\n    \"NewMeeting\": \"Nouvelle réunion\",\n    \"NoMessages\": \"Vous n'avez aucune réunion à venir\",\n    \"NumMeetings\": \"Combien de réunions à montrer? 0 - afficher toutes les réunions récupérées\",\n    \"RefreshInterval\": \"À quelle fréquence vérifier les nouvelles réunions à venir (en minutes)\",\n    \"PropertyPaneDescription\": \"Configuration de réunions de la partie Web\",\n    \"ViewAll\": \"Voir toute la liste\"\n  }\n});"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/loc/mystrings.d.ts",
    "content": "declare interface IPersonalCalendarWebPartStrings {\n  AllDay: string;\n  DaysInAdvance: string;\n  Error: string;\n  Hour: string;\n  Hours: string;\n  Loading: string;\n  Minutes: string;\n  NewMeeting: string;\n  NoMeetings: string;\n  NumMeetings: string;\n  RefreshInterval: string;\n  PropertyPaneDescription: string;\n  ViewAll: string;\n  ShowCalendar: string;\n}\n\ndeclare module 'PersonalCalendarWebPartStrings' {\n  const strings: IPersonalCalendarWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"AllDay\": \"Hele dagen\",\n    \"DaysInAdvance\": \"Antall dager i forveien å hente møter for? 0 - kun dagen i dag\",\n    \"Error\": \"Det har oppstått en feil mens vi hentet de kommende møtene dine\",\n    \"Hour\": \"time\",\n    \"Hours\": \"timer\",\n    \"Loading\": \"Henter dine kommende møter\",\n    \"Minutes\": \"minutter\",\n    \"NewMeeting\": \"Nytt møte\",\n    \"NoMessages\": \"Du har ingen kommende møter\",\n    \"NumMeetings\": \"Hvor mange møter skal vises? 0 - vis alle hentede møter\",\n    \"RefreshInterval\": \"Hvor ofte skal du sjekke etter nye kommende møter (i minutter)\",\n    \"PropertyPaneDescription\": \"Konfigurer møte webdelen\",\n    \"ViewAll\": \"Vis hele listen\"\n  }\n});\n"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"AllDay\": \"Volledige dag\",\n      \"DaysInAdvance\": \"Van hoeveel dagen van tevoren wil je de meetings ophalen? 0 = alleen vandaag\",\n      \"Error\": \"Een foutmelding is opgetreden bij het ophalen van de aankomende meetings\",\n      \"Hour\": \"uur\",\n      \"Hours\": \"uren\",\n      \"Loading\": \"Aankomende meeting(s) aan het ophalen\",\n      \"Minutes\": \"minuten\",\n      \"NewMeeting\": \"Nieuwe meeting\",\n      \"NoMessages\": \"Je hebt geen aankomende meetings\",\n      \"NumMeetings\": \"Hoeveel meetings wil je tonen? 0 = laat alle opgehaalde meetings zien\",\n      \"RefreshInterval\": \"Hoe vaak wil je aankomende meetings ophalen (in minuten)\",\n      \"PropertyPaneDescription\": \"Meetings webpart configuratie\",\n      \"ViewAll\": \"Bekijk de volledige lijst\"\n    }\n  });"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"AllDay\": \"Heldag\",\n    \"DaysInAdvance\": \"Hur många dagar i förväg att hämta möten för? 0 - endast idag\",\n    \"Error\": \"Ett fel har uppstått när dina kommande möten skulle hämtas\",\n    \"Hour\": \"timme\",\n    \"Hours\": \"timmar\",\n    \"Loading\": \"Hämtar dina kommande möten\",\n    \"Minutes\": \"minuter\",\n    \"NoMessages\": \"Du har inga kommande möten\",\n    \"NumMeetings\": \"Hur många möten ska visas? 0 - alla hämtade möten visas\",\n    \"RefreshInterval\": \"Hur ofta skall det kontrolleras om det finns nya kommande möten (i minuter)\",\n    \"PropertyPaneDescription\": \"Möten webbdelskonfiguration\",\n    \"ViewAll\": \"Visa hela listan\"\n  }\n});"
  },
  {
    "path": "source/react-personal-calendar/src/webparts/personalCalendar/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"AllDay\": \"Tüm gün\",\n    \"DaysInAdvance\": \"Kaç gün önceden öne almak istiyorsunuz? 0 - sadece bugün\",\n    \"Error\": \"Yaklaşan toplantılarınız alınırken bir hata oluştu\",\n    \"Hour\": \"saat\",\n    \"Hours\": \"saat\",\n    \"Loading\": \"Yaklaşan toplantınız alınıyor\",\n    \"Minutes\": \"dakika\",\n    \"NewMeeting\": \"Yeni toplantı\",\n    \"NoMessages\": \"Yaklaşan toplantınız yok\",\n    \"NumMeetings\": \"Gösterilecek kaç toplantı var? 0 - tüm alınan toplantıları göster\",\n    \"RefreshInterval\": \"Yaklaşan yeni toplantıların ne sıklıkta kontrol edileceği (dakika olarak)\",\n    \"PropertyPaneDescription\": \"Toplantılar web bölümü yapılandırması\",\n    \"ViewAll\": \"Tam listeyi görüntüle\"\n  }\n});"
  },
  {
    "path": "source/react-personal-calendar/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-personal-contacts/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-personal-contacts/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-personal-contacts/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-personal-contacts/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-personal-contacts/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-personal-contacts/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-personal-contacts\",\n    \"libraryId\": \"05a9dee1-2de3-40f0-bee3-d511aca62e0a\",\n    \"packageManager\": \"npm\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-personal-contacts/README.md",
    "content": "# Personal Contacts web part\n\nThis web part provides you the ability to add a particular user's personal contacts on a web page. The web part may be configured to display a pre-defined number of contacts at a time. This web part is powered by the Microsoft Graph and currently requires that the Office 365 tenant be configured for targeted release for all users.\n\n![Personal Contacts](../../assets/images/components/part-personal-contacts.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Personal Contacts** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Personal Contacts` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Personal contacts | title | string | no | The web part title, editable inline with the web part itself |\n| Number of contacts to show | nrOfContacts | number | no | Default: 5 - The number of contacts to show |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.13.1-green.svg)\n\n* Only supported in SharePoint Online due to dependency on the Microsoft Graph APIs\n\n## Applies to\n\n* [SharePoint Framework](https:/dev.office.com/sharepoint)\n* [Office 365 tenant](https://dev.office.com/sharepoint/docs/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nnone\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-personal-contacts | Waldek Mastykarz ([@waldekm](https://twitter.com/waldekm))\nreact-personal-contacts | Vardhaman Deshpande ([@vrdmn](https://twitter.com/vrdmn))\nreact-presonal-contacts | Don Kirkham ([@DonKirkham](https://twitter.com/donkirkham))\nreact-presonal-contacts | Chandani Prajapati ([@Chandani_SPD](https://twitter.com/Chandani_SPD))\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May 2018| Initial release\n2.0|January 2020| Upgrade to V2\n3.0|February 2022| Upgrade to SPFx1.13.1\n4.0|January 16, 2013|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n> Include any additional steps as needed.\n\n## Features\n\nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Using Microsoft Graph from the web parts\n* Hosting SharePoint Framework components as Microsoft Teams tabs\n* Using app pages in SharePoint Online\n\n## Permissions Requested\n\nResource | Permission\n--------|---------\nMicrosoft Graph | Contacts.Read\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-personal-contacts\" />\n"
  },
  {
    "path": "source/react-personal-contacts/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"personal-contacts-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/personalContacts/PersonalContactsWebPart.js\",\n          \"manifest\": \"./src/webparts/personalContacts/PersonalContactsWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"PersonalContactsWebPartStrings\": \"lib/webparts/personalContacts/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-personal-contacts/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-personal-contacts\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-personal-contacts/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Personal Contacts\",\n    \"id\": \"05a9dee1-2de3-40f0-bee3-d511aca62e0a\",\n    \"version\": \"3.0.0.0\",\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-personal-contacts description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-personal-contacts description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"react-personal-contacts PersonalContactsWebPart Feature\",\n        \"description\": \"The feature that activates PersonalContactsWebPart from the react-personal-contacts solution.\",\n        \"id\": \"156030ad-510a-49b6-b1ef-33097667c829\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"156030ad-510a-49b6-b1ef-33097667c829\"\n        ]\n      }\n    ],\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"webApiPermissionRequests\": [\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"Contacts.Read\"\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-personal-contacts.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-personal-contacts/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-personal-contacts/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-personal-contacts/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-personal-contacts/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-personal-contacts/package.json",
    "content": "{\n  \"name\": \"react-personal-contacts\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/microsoft-graph-client\": \"^3.0.4\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/spfx-controls-react\": \"^3.12.0\",\n    \"@pnp/spfx-property-controls\": \"^3.11.0\",\n    \"office-ui-fabric-react\": \"^7.199.1\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}"
  },
  {
    "path": "source/react-personal-contacts/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/PersonalContactsWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"156030ad-510a-49b6-b1ef-33097667c829\",\n  \"alias\": \"PersonalContactsWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n  \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsTab\", \"TeamsPersonalApp\"],\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"PersonalContacts\" },\n    \"description\": { \"default\": \"Personal contacts of the user\" },\n    \"officeFabricIconFontName\": \"ContactHeart\",\n    \"properties\": {\n      \"title\": \"Personal Contacts\",\n      \"nrOfContacts\": 5\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/PersonalContactsWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration } from \"@microsoft/sp-property-pane\";\nimport * as strings from 'PersonalContactsWebPartStrings';\nimport { PersonalContacts, IPersonalContactsProps } from './components/PersonalContacts';\nimport { MSGraphClientV3 } from '@microsoft/sp-http';\n\nexport interface IPersonalContactsWebPartProps {\n  title: string;\n  nrOfContacts: number;\n}\n\nexport default class PersonalContactsWebPart extends BaseClientSideWebPart<IPersonalContactsWebPartProps> {\n  private graphClient: MSGraphClientV3;\n  private propertyFieldNumber : any;\n\n  public onInit(): Promise<void> {\n    return new Promise<void>((resolve: () => void, reject: (error: any) => void): void => {\n      this.context.msGraphClientFactory\n        .getClient('3')\n        .then((client: MSGraphClientV3): void => {\n          this.graphClient = client;\n          resolve();\n        }, err => reject(err));\n    });\n  }\n\n  public render(): void {\n    const element: React.ReactElement<IPersonalContactsProps> = React.createElement(\n      PersonalContacts,\n      {\n        title: this.properties.title,\n        nrOfContacts: this.properties.nrOfContacts,\n        // pass the reference to the MSGraphClient\n        graphClient: this.graphClient,\n        // pass the current display mode to determine if the title should be\n        // editable or not\n        displayMode: this.displayMode,\n        // handle updated web part title\n        updateProperty: (value: string): void => {\n          // store the new title in the title web part property\n          this.properties.title = value;\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  //executes only before property pane is loaded.\n  protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n\n    const { PropertyFieldNumber } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-number' */\n      '@pnp/spfx-property-controls/lib/propertyFields/number'\n    );\n\n    this.propertyFieldNumber = PropertyFieldNumber;\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupFields: [\n                this.propertyFieldNumber(\"nrOfContacts\", {\n                  key: \"nrOfContacts\",\n                  label: strings.NrOfContactsToShow,\n                  value: this.properties.nrOfContacts,\n                  minValue: 1,\n                  maxValue: 10\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n}\n"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/IContacts.ts",
    "content": "export interface IContacts {\n  value?: IContact[];\n}\n\nexport interface IContact {\n  id: string;\n  displayName: string;\n  homePhones?: string[];\n  mobilePhone?: string;\n  businessPhones?: string[];\n  emailAddresses: {\n    name: string;\n    address: string;\n  }[];\n}"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/Person/IPersonProps.ts",
    "content": "import { MSGraphClientV3 } from '@microsoft/sp-http';\nimport { IContact } from \"..\";\n\nexport interface IPersonProps {\n  graphClient: MSGraphClientV3;\n  person: IContact;\n}"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/Person/IPersonState.ts",
    "content": "export interface IPersonState {\n  image: string;\n}"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/Person/Person.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.persona {\n  margin-bottom: 5px;\n}"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/Person/Person.tsx",
    "content": "import * as React from 'react';\nimport styles from './Person.module.scss';\nimport { IPersonProps, IPersonState } from '.';\nimport { Persona, PersonaSize, IPersonaProps } from '@fluentui/react/lib/Persona';\nimport { Link } from '@fluentui/react/lib/Link';\nimport { GraphError } from '@microsoft/microsoft-graph-client/lib/src';\n\nexport class Person extends React.Component<IPersonProps, IPersonState> {\n  constructor(props: IPersonProps) {\n    super(props);\n\n    this.state = {\n      image: null\n    };\n  }\n\n  /**\n   * Renders the secondary field as mail\n   */\n  private _renderMail = (props: IPersonaProps) => {\n    if (props.secondaryText) {\n      return <Link href={`mailto:${props.secondaryText}`}>{props.secondaryText}</Link>;\n    }\n\n    return <div />;\n  }\n\n  /**\n   * Renders the tertiary field as mail\n   */\n  private _renderPhone = (props: IPersonaProps) => {\n    if (props.tertiaryText) {\n      return <Link href={`tel:${props.tertiaryText}`}>{props.tertiaryText}</Link>;\n    }\n\n    return <div />;\n  }\n\n  private _setPhoto(rawResponse: any): void {\n    if (rawResponse && rawResponse.xhr && rawResponse.xhr.response) {\n      const url = window.URL;\n      const blobUrl = url.createObjectURL(rawResponse.xhr.response);\n      this.setState({\n        image: blobUrl\n      });\n    }\n  }\n\n  /**\n   * componentDidMount lifecycle hook\n   */\n  public componentDidMount(): void {\n    const { person, graphClient } = this.props;\n    if (!person) {\n      return;\n    }\n\n    // download contact photo\n    graphClient\n      .api(`me/contacts/${person.id}/photo/$value`)\n      .version('v1.0')\n      .responseType('blob')\n      .get((err: GraphError, res: any, rawResponse: any): void => {\n        if (err && err.statusCode === 404) {\n          // no photo set on the contact, try retrieving from the user object\n\n          if (!person.emailAddresses ||\n            person.emailAddresses.length < 1) {\n            // no email available, can't retrieve photo for the user\n            return;\n          }\n\n          graphClient\n            .api(`users/${person.emailAddresses[0].address}/photo/$value`)\n            .version('v1.0')\n            .responseType('blob')\n            .get((err2: GraphError, res2: any, rawResponse2: any): void => {\n              this._setPhoto(rawResponse2);\n            });\n        }\n        else {\n          this._setPhoto(rawResponse);\n        }\n      });\n  }\n\n  /**\n   * Default React render\n   */\n  public render(): React.ReactElement<IPersonProps> {\n    const { person } = this.props;\n    let phoneNr: string = null;\n\n    if (person.businessPhones && person.businessPhones.length > 0) {\n      phoneNr = person.businessPhones[0];\n    }\n    else {\n      if (person.mobilePhone) {\n        phoneNr = person.mobilePhone;\n      }\n      else {\n        if (person.homePhones && person.homePhones.length > 0) {\n          phoneNr = person.homePhones[0];\n        }\n      }\n    }\n\n    return <Persona className={styles.persona}\n      primaryText={person.displayName}\n      secondaryText={(person.emailAddresses && person.emailAddresses.length > 0) && person.emailAddresses[0].address}\n      onRenderSecondaryText={this._renderMail}\n      tertiaryText={phoneNr}\n      onRenderTertiaryText={this._renderPhone}\n      imageUrl={this.state.image}\n      size={PersonaSize.size72} />;\n  }\n}"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/Person/index.ts",
    "content": "export * from './IPersonProps';\nexport * from './IPersonState';\nexport * from './Person';"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/PersonalContacts/IPersonalContactsProps.ts",
    "content": "import { DisplayMode } from '@microsoft/sp-core-library';\nimport { IPersonalContactsWebPartProps } from '../../PersonalContactsWebPart';\nimport { MSGraphClientV3 } from '@microsoft/sp-http';\n\nexport interface IPersonalContactsProps extends IPersonalContactsWebPartProps {\n  displayMode: DisplayMode;\n  graphClient: MSGraphClientV3;\n  updateProperty: (value: string) => void;\n}"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/PersonalContacts/IPersonalContactsState.ts",
    "content": "import { IContact } from '..';\n\nexport interface IPersonalContactsState {\n  contacts: IContact[];\n  error: string;\n  loading: boolean;\n}\n"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/PersonalContacts/PersonalContacts.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.personalContacts {\n  .persona {\n    margin-bottom: 5px;\n  }\n\n  .noContacts {\n    @include ms-font-m;\n  }\n\n  .error {\n    @include ms-font-m;\n    color: $ms-color-alert;\n  }\n}"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/PersonalContacts/PersonalContacts.tsx",
    "content": "import * as React from 'react';\nimport styles from './PersonalContacts.module.scss';\nimport * as strings from 'PersonalContactsWebPartStrings';\nimport { IPersonalContactsProps, IPersonalContactsState } from '.';\nimport { IContact, IContacts } from '..';\nimport { WebPartTitle } from '@pnp/spfx-controls-react/lib/WebPartTitle';\nimport { Spinner, SpinnerSize } from '@fluentui/react/lib/Spinner';\nimport { List } from '@fluentui/react/lib/List';\nimport { Link } from '@fluentui/react/lib/Link';\nimport { Person } from '../Person';\n\nexport class PersonalContacts extends React.Component<IPersonalContactsProps, IPersonalContactsState> {\n  /**\n   *\n   */\n  constructor(props: IPersonalContactsProps) {\n    super(props);\n\n    this.state = {\n      contacts: [],\n      loading: false,\n      error: undefined\n    };\n  }\n\n  /**\n   * Fetch the recently used contacts for the user\n   */\n  private _loadContacts(): void {\n    if (!this.props.graphClient) {\n      return;\n    }\n\n    // update state to indicate loading and remove any previously loaded\n    // messages\n    this.setState({\n      error: null,\n      loading: true,\n      contacts: []\n    });\n\n    this.props.graphClient\n      .api(\"me/contacts\")\n      .version(\"v1.0\")\n      .select(\"id,displayName,emailAddresses,businessPhones,mobilePhone,homePhones\")\n      .top(this.props.nrOfContacts || 5)\n      .get((err: any, res: IContacts): void => {\n        if (err) {\n          // Something failed calling the MS Graph\n          this.setState({\n            error: err.message ? err.message : strings.Error,\n            loading: false\n          });\n          return;\n        }\n\n        // Check if a response was retrieved\n        if (res && res.value && res.value.length > 0) {\n          this.setState({\n            contacts: res.value,\n            loading: false\n          });\n        }\n        else {\n          // No contacts found\n          this.setState({\n            loading: false\n          });\n        }\n      });\n  }\n\n  /**\n   * Renders the list cell for the persona's\n   */\n  private _onRenderCell = (item: IContact, index: number | undefined): JSX.Element => {\n    return <Person graphClient={this.props.graphClient} person={item} />;\n  }\n\n  /**\n   * Renders the secondary field as mail\n   */\n  // private _renderMail = (props: IPersonaProps): JSX.Element => {\n  //   if (props.secondaryText) {\n  //     return <Link href={`mailto:${props.secondaryText}`}>{props.secondaryText}</Link>;\n  //   }\n\n  //   return <div />;\n  // }\n\n  /**\n   * Renders the tertiary field as mail\n   */\n  // private _renderPhone = (props: IPersonaProps): JSX.Element => {\n  //   if (props.tertiaryText) {\n  //     return <Link href={`tel:${props.tertiaryText}`}>{props.tertiaryText}</Link>;\n  //   }\n\n  //   return <div />;\n  // }\n\n  public componentDidMount(): void {\n    // load data initially after the component has been instantiated\n    this._loadContacts();\n  }\n\n  public componentDidUpdate(prevProps: IPersonalContactsProps, prevState: IPersonalContactsState): void {\n    // verify if the component should update. Helps avoid unnecessary re-renders\n    // when the parent has changed but this component hasn't\n    if (prevProps.nrOfContacts !== this.props.nrOfContacts) {\n      this._loadContacts();\n    }\n  }\n\n  public render(): React.ReactElement<IPersonalContactsProps> {\n    return (\n      <div className={styles.personalContacts}>\n        <WebPartTitle displayMode={this.props.displayMode}\n          title={this.props.title}\n          updateProperty={this.props.updateProperty} />\n        {\n          this.state.loading &&\n          <Spinner label={strings.Loading} size={SpinnerSize.large} />\n        }\n\n        {\n          this.state.contacts &&\n            this.state.contacts.length > 0 ? (\n              <div>\n                <List items={this.state.contacts}\n                  onRenderCell={this._onRenderCell} />\n                <Link href='https://outlook.office.com/owa/?path=/people' target='_blank'>{strings.ViewAll}</Link>\n              </div>\n            ) : (\n              !this.state.loading && (\n                this.state.error ?\n                  <span className={styles.error}>{this.state.error}</span> :\n                  <span className={styles.noContacts}>{strings.NoContacts}</span>\n              )\n            )\n        }\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/PersonalContacts/index.ts",
    "content": "export * from './IPersonalContactsProps';\nexport * from './IPersonalContactsState';\nexport * from './PersonalContacts';"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/components/index.ts",
    "content": "export * from './IContacts';"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Ein Fehler beim abrufen Ihrer Kontakte ist aufgetreten.\",\n    \"Loading\": \"Rufe Ihre Kontakte auf\",\n    \"NoContacts\": \"Keine Kontake gefunden\",\n    \"NrOfContactsToShow\": \"Anzahl der anzuzeigenden Kontakte\",\n    \"PropertyPaneDescription\": \"Kontakte Web Part Konfiguration\",\n    \"ViewAll\": \"Vollständige Liste anzeigen\"\n  }\n});\n"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"An error has occurred while retrieving your contacts\",\n    \"Loading\": \"Retrieving your contacts\",\n    \"NoContacts\": \"No contacts were found\",\n    \"NrOfContactsToShow\": \"Number of contacts to show\",\n    \"PropertyPaneDescription\": \"Contacts web part configuration\",\n    \"ViewAll\": \"View the full list\"\n  }\n});"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Un error ha ocurrido mientras obtenemos sus contactos\",\n    \"Loading\": \"Retornando sus contactos\",\n    \"NoContacts\": \"No se encontraton contactos\",\n    \"NrOfContactsToShow\": \"Numero de contactos a mostrar\",\n    \"PropertyPaneDescription\": \"Configuracion del elemento web de Contactos\",\n    \"ViewAll\": \"Ver la lista completa\"\n  }\n});\n"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Une erreur est survenue lors de la récupération de vos contacts\",\n    \"Loading\": \"Récupération de vos contacts\",\n    \"NoContacts\": \"Aucun contact n'a été trouvé\",\n    \"NrOfContactsToShow\": \"Nombre de contacts à afficher\",\n    \"PropertyPaneDescription\": \"Configuration des contacts de la partie Web\",\n    \"ViewAll\": \"Voir toute la liste\"\n  }\n});"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/loc/mystrings.d.ts",
    "content": "declare interface IPersonalContactsWebPartStrings {\n  Error: string;\n  Loading: string;\n  NoContacts: string;\n  NrOfContactsToShow: string;\n  PropertyPaneDescription: string;\n  ViewAll: string;\n}\n\ndeclare module 'PersonalContactsWebPartStrings' {\n  const strings: IPersonalContactsWebPartStrings;\n  export = strings;\n}"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"En feil oppstod ved henting av dine kontakter\",\n    \"Loading\": \"Henter dine kontakter\",\n    \"NoContacts\": \"Ingen kontakter funnet\",\n    \"NrOfContactsToShow\": \"Antall kontakter som skal vises\",\n    \"PropertyPaneDescription\": \"Konfigurer kontakter webdelen\",\n    \"ViewAll\": \"Vis hele listen\"\n  }\n});\n"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"Error\": \"Een foutmelding is opgetreden tijdens het ophalen van je contactpersonen\",\n      \"Loading\": \"Contactpersonen aan het ophalen\",\n      \"NoContacts\": \"Geen contactpersonen gevonden\",\n      \"NrOfContactsToShow\": \"Aantal te tonen contactpersonen\",\n      \"PropertyPaneDescription\": \"Contactpersonen webpart configuratie\",\n      \"ViewAll\": \"Bekijk de volledige lijst\"\n    }\n  });"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Ett fel uppstod när dina kontakter hämtades\",\n    \"Loading\": \"Hämtar dina kontakter\",\n    \"NoContacts\": \"Inga kontakter hittades\",\n    \"NrOfContactsToShow\": \"Antal kontakter att visa\",\n    \"PropertyPaneDescription\": \"Kontaker webbdelskonfiguration\",\n    \"ViewAll\": \"Visa hela listan\"\n  }\n});"
  },
  {
    "path": "source/react-personal-contacts/src/webparts/personalContacts/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Rehberinizi alırken bir hata oluştu\",\n    \"Loading\": \"Kişilerinizi alınıyor\",\n    \"NoContacts\": \"Kişi bulunamadı\",\n    \"NrOfContactsToShow\": \"Gösterilecek kişi sayısı\",\n    \"PropertyPaneDescription\": \"Rehber web parçası yapılandırması\",\n    \"ViewAll\": \"Tam listeyi görüntüle\"\n  }\n});"
  },
  {
    "path": "source/react-personal-contacts/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-personal-email/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-personal-email/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-personal-email/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-personal-email/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-personal-email/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-personal-email/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-personal-email/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-personal-email\",\n    \"libraryId\": \"7c886936-7bcd-4ef5-ac98-e802299dc5ad\",\n    \"packageManager\": \"npm\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-personal-email/README.md",
    "content": "# Personal Email web part\n\nThis web part provides you the ability to add a particular user's personal email on a web page. The web part may be configured to display a pre-defined number of emails at a time and includes a link to the user's Outlook to view all email. This web part is powered by the Microsoft Graph and currently requires that the Office 365 tenant be configured for targeted release for all users.\n\nDemostrates the use of **this.context.msGraphClientFactory**, getting the **v3** Graph client, to make Graph calls to **me/messages** and **me/mailFolders/Inbox/messages** Graph endpoints.\n\n![Personal Email](../../assets/images/components/part-personal-email.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Personal Email** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Personal Email` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Personal e-mail | title | string | no | The web part title, editable inline with the web part itself |\n| Number of messages to show | nrOfMessages | number | no | Default: 5 - The number of emails to show |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nGraph API Persmissions\n\n```json\nwebApiPermissionRequests\": [\n  {\n      \"resource\": \"Microsoft Graph\",\n      \"scope\": \"Mail.Read\"\n  }\n]\n```\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-personal-email| Waldek Mastykarz\nreact-personal-email| Beau Cameron\nreact-personal-email| Chandani Prajapati\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|May, 2018|Initial release\n2.0|November 29, 2019|v2.0\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n> Include any additional steps as needed.\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Using Microsoft Graph from the web parts\n* Hosting SharePoint Framework components as Microsoft Teams tabs\n* Using app pages in SharePoint Online\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-personal-email\" />\n"
  },
  {
    "path": "source/react-personal-email/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"personal-email-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/personalEmail/PersonalEmailWebPart.js\",\n          \"manifest\": \"./src/webparts/personalEmail/PersonalEmailWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"PersonalEmailWebPartStrings\": \"lib/webparts/personalEmail/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-personal-email/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-personal-email\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-personal-email/config/package-solution.json",
    "content": "{\n    \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n    \"solution\": {\n        \"name\": \"Starter Kit - Personal Email\",\n        \"id\": \"7c886936-7bcd-4ef5-ac98-e802299dc5ad\",\n        \"version\": \"3.0.0.0\",\n        \"includeClientSideAssets\": true,\n        \"skipFeatureDeployment\": true,\n        \"isDomainIsolated\": false,\n        \"developer\": {\n            \"name\": \"PnP Starter Kit\",\n            \"privacyUrl\": \"\",\n            \"termsOfUseUrl\": \"\",\n            \"websiteUrl\": \"\",\n            \"mpnId\": \"pnpsk\"\n        },\n        \"metadata\": {\n            \"shortDescription\": {\n                \"default\": \"react-personal-email description\"\n            },\n            \"longDescription\": {\n                \"default\": \"react-personal-email description\"\n            },\n            \"screenshotPaths\": [],\n            \"videoUrl\": \"\",\n            \"categories\": []\n        },\n        \"features\": [\n            {\n                \"title\": \"Starter Kit - Personal Email WebPart Feature\",\n                \"description\": \"The feature that activates Personal Email Webpart from the Starter Kit - Personal Email solution.\",\n                \"id\": \"0a4ad3e5-1677-4829-b173-55cbb3ffc317\",\n                \"version\": \"3.0.0.0\",\n                \"componentIds\": [\n                    \"0a4ad3e5-1677-4829-b173-55cbb3ffc317\"\n                ]\n            }\n        ],\n        \"webApiPermissionRequests\": [\n            {\n                \"resource\": \"Microsoft Graph\",\n                \"scope\": \"Mail.Read\"\n            }\n        ]\n    },\n    \"paths\": {\n        \"zippedPackage\": \"solution/react-personal-email.sppkg\"\n    }\n}"
  },
  {
    "path": "source/react-personal-email/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-personal-email/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-personal-email/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-personal-email/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-personal-email/package.json",
    "content": "{\n    \"name\": \"react-personal-email\",\n    \"version\": \"3.0.0\",\n    \"private\": true,\n    \"main\": \"lib/index.js\",\n    \"engines\": {\n        \"node\": \">=16.13.0 <17.0.0\"\n    },\n    \"scripts\": {\n        \"build\": \"gulp bundle\",\n        \"clean\": \"gulp clean\",\n        \"test\": \"gulp test\"\n    },\n    \"dependencies\": {\n        \"@microsoft/sp-core-library\": \"1.16.1\",\n        \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n        \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n        \"@microsoft/sp-property-pane\": \"1.16.1\",\n        \"@microsoft/sp-webpart-base\": \"1.16.1\",\n        \"@pnp/spfx-controls-react\": \"3.12.0\",\n        \"@pnp/spfx-property-controls\": \"3.11.0\",\n        \"react\": \"17.0.1\",\n        \"react-dom\": \"17.0.1\",\n        \"tslib\": \"2.3.1\"\n    },\n    \"resolutions\": {\n        \"@types/react\": \"16.8.8\"\n    },\n    \"devDependencies\": {\n        \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n        \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n        \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n        \"@microsoft/sp-build-web\": \"1.16.1\",\n        \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n        \"@rushstack/eslint-config\": \"2.5.1\",\n        \"@types/react\": \"17.0.45\",\n        \"@types/react-dom\": \"17.0.17\",\n        \"@types/webpack-env\": \"~1.15.2\",\n        \"ajv\": \"^6.12.5\",\n        \"eslint-plugin-react-hooks\": \"4.3.0\",\n        \"gulp\": \"4.0.2\",\n        \"typescript\": \"4.5.5\"\n    }\n}\n"
  },
  {
    "path": "source/react-personal-email/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/PersonalEmailWebPart.manifest.json",
    "content": "{\n    \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n    \"id\": \"0a4ad3e5-1677-4829-b173-55cbb3ffc317\",\n    \"alias\": \"PersonalEmailWebPart\",\n    \"componentType\": \"WebPart\",\n\n    // The \"*\" signifies that the version should be taken from the package.json\n    \"version\": \"*\",\n    \"manifestVersion\": 2,\n\n    // If true, the component can only be installed on sites where Custom Script is allowed.\n    // Components that allow authors to embed arbitrary script code should set this to true.\n    // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n    \"requiresCustomScript\": false,\n    \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsTab\", \"TeamsPersonalApp\"],\n    \"supportsThemeVariants\": true,\n    \"preconfiguredEntries\": [{\n        \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n        \"group\": { \"default\": \"Other\" },\n        \"title\": { \"default\": \"Personal e-mail\" },\n        \"description\": { \"default\": \"Shows email of a user\" },\n        \"officeFabricIconFontName\": \"Mail\",\n        \"properties\": {\n            \"title\": \"Personal e-mail\",\n            \"nrOfMessages\": 5,\n            \"showInboxOnly\": true\n        }\n    }]\n}"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/PersonalEmailWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from '@microsoft/sp-webpart-base';\nimport { IPropertyPaneConfiguration } from '@microsoft/sp-property-pane';\nimport * as strings from 'PersonalEmailWebPartStrings';\nimport { PersonalEmail, IPersonalEmailProps } from './components';\nimport { CalloutTriggers } from '@pnp/spfx-property-controls/lib/PropertyFieldHeader';\nimport { PropertyFieldToggleWithCallout } from '@pnp/spfx-property-controls/lib/PropertyFieldToggleWithCallout';\nimport { MSGraphClientV3 } from '@microsoft/sp-http';\nimport {\n  IReadonlyTheme,\n  ThemeChangedEventArgs,\n  ThemeProvider\n} from \"@microsoft/sp-component-base\";\n\nexport interface IPersonalEmailWebPartProps {\n  title: string;\n  nrOfMessages: number;\n  showInboxOnly: boolean;\n}\n\nexport default class PersonalEmailWebPart extends BaseClientSideWebPart<IPersonalEmailWebPartProps> {\n  private graphClient: MSGraphClientV3;\n  private propertyFieldNumber: any;\n  private _themeProvider: ThemeProvider;\n  private _themeVariant: IReadonlyTheme | undefined;\n\n  public onInit(): Promise<void> {\n    return new Promise<void>((resolve: () => void, reject: (error: any) => void): void => {\n      this.context.msGraphClientFactory\n        .getClient('3')\n        .then((client: MSGraphClientV3): void => {\n          this.graphClient = client;\n          resolve();\n        }, err => reject(err));\n\n        this._themeProvider = this.context.serviceScope.consume(\n          ThemeProvider.serviceKey\n        );\n        // If it exists, get the theme variant\n        this._themeVariant = this._themeProvider.tryGetTheme();\n        // Register a handler to be notified if the theme variant changes\n        this._themeProvider.themeChangedEvent.add(\n          this,\n          this._handleThemeChangedEvent\n        );\n    });\n  }\n\n  public render(): void {\n    const element: React.ReactElement<IPersonalEmailProps> = React.createElement(\n      PersonalEmail,\n      {\n        title: this.properties.title,\n        nrOfMessages: this.properties.nrOfMessages,\n        showInboxOnly: this.properties.showInboxOnly,\n        // pass the current display mode to determine if the title should be\n        // editable or not\n        displayMode: this.displayMode,\n        themeVariant: this._themeVariant,\n        // pass the reference to the MSGraphClient\n        graphClient: this.graphClient,\n        // handle updated web part title\n        updateProperty: (value: string): void => {\n          // store the new title in the title web part property\n          this.properties.title = value;\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n   //executes only before property pane is loaded.\n   protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n\n    const { PropertyFieldNumber } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-number' */\n      '@pnp/spfx-property-controls/lib/propertyFields/number'\n    );\n\n    this.propertyFieldNumber = PropertyFieldNumber;\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupFields: [\n                this.propertyFieldNumber(\"nrOfMessages\", {\n                  key: \"nrOfMessages\",\n                  label: strings.NrOfMessagesToShow,\n                  value: this.properties.nrOfMessages,\n                  minValue: 1,\n                  maxValue: 10\n                }),\n                PropertyFieldToggleWithCallout('showInboxOnly', {\n                  calloutTrigger: CalloutTriggers.Click,\n                  key: 'showInboxOnly',\n                  label: strings.ShowInboxOnly,\n                  calloutContent: React.createElement('p', {}, strings.ShowInboxOnlyCallout),\n                  checked: this.properties.showInboxOnly\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n\n  private _handleThemeChangedEvent(args: ThemeChangedEventArgs): void {\n    this._themeVariant = args.theme;\n\n    this.render();\n  }\n}\n"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/components/IMessage.ts",
    "content": "export interface IMessages {\n  value: IMessage[];\n}\n\nexport interface IMessage {\n  bodyPreview: string;\n  from: {\n    emailAddress: {\n      address: string;\n      name: string;\n    }\n  };\n  isRead: boolean;\n  receivedDateTime: string;\n  subject: string;\n  webLink: string;\n}"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/components/IPersonalEmailProps.ts",
    "content": "import { IPersonalEmailWebPartProps } from \"../PersonalEmailWebPart\";\nimport { MSGraphClientV3 } from \"@microsoft/sp-http\";\nimport { DisplayMode } from \"@microsoft/sp-core-library\";\nimport { IReadonlyTheme } from \"@microsoft/sp-component-base\";\n\nexport interface IPersonalEmailProps extends IPersonalEmailWebPartProps {\n  displayMode: DisplayMode;\n  graphClient: MSGraphClientV3;\n  themeVariant: IReadonlyTheme | undefined;\n  updateProperty: (value: string) => void;\n}\n"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/components/IPersonalEmailState.ts",
    "content": "import { IMessage } from '.';\n\nexport interface IPersonalEmailState {\n  error: string;\n  loading: boolean;\n  messages: IMessage[];\n}"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/components/PersonalEmail.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n.personalEmail {\n    --varientBGColor: $ms-color-primary;\n    --varientFontColor: black;\n    --varientBGHovered: black;\n    background-color: var(--varientBGColor);\n    color: var(--varientFontColor) !important;\n    .title,\n    .viewAll,\n    .list {\n        margin-top: 1em;\n        margin-bottom: 1em;\n    }\n    .title * {\n        font-size: 20px!important;\n        font-weight: 600!important;\n        color: var(--varientFontColor) !important;\n    }\n    button * {\n        color: var(--varientFontColor) !important;\n    }\n    .message {\n        display: block;\n        padding: 0.5em 10px;\n        color: var(--varientFontColor);\n        &:hover {\n            background: var(--varientBGHovered);\n        }\n    }\n    .from {\n        @include ms-font-l;\n        @include ms-fontWeight-semibold;\n    }\n    .subject {\n        @include ms-font-s;\n        @include ms-fontWeight-semibold;\n        font-weight: bold;\n        float: left;\n        width: 80%;\n        text-overflow: ellipsis;\n        overflow: hidden;\n        white-space: nowrap;\n    }\n    .date {\n        @include ms-font-s;\n        @include ms-fontWeight-semibold;\n        font-weight: bold;\n        float: right;\n        width: 20%;\n        text-align: right;\n        word-break: keep-all;\n    }\n    .preview {\n        @include ms-font-s;\n        @include ms-fontWeight-light;\n        clear: both;\n        text-overflow: ellipsis;\n        overflow: hidden;\n        white-space: nowrap;\n    }\n    .isRead {\n        .from {\n            @include ms-fontWeight-semilight;\n        }\n        .subject {\n            @include ms-fontWeight-semilight;\n        }\n        .date {\n            @include ms-fontWeight-semilight;\n        }\n        .preview {\n            @include ms-fontWeight-light;\n        }\n    }\n    .noMessages {\n        @include ms-font-m;\n    }\n    .error {\n        @include ms-font-m;\n        color: $ms-color-alert;\n    }\n}\n"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/components/PersonalEmail.tsx",
    "content": "import * as React from 'react';\nimport styles from './PersonalEmail.module.scss';\nimport * as strings from 'PersonalEmailWebPartStrings';\nimport { IPersonalEmailProps, IPersonalEmailState, IMessage, IMessages } from '.';\nimport { WebPartTitle } from '@pnp/spfx-controls-react/lib/WebPartTitle';\nimport { Spinner, SpinnerSize } from '@fluentui/react/lib/Spinner';\nimport { List } from '@fluentui/react/lib/List';\nimport { Link } from '@fluentui/react/lib/Link';\nimport { IIconProps } from '@fluentui/react/lib/Icon';\nimport { ActionButton } from '@fluentui/react/lib/Button';\n\nexport class PersonalEmail extends React.Component<IPersonalEmailProps, IPersonalEmailState> {\n\n  protected readonly outlookLink: string = \"https://outlook.office.com/owa/\";\n  protected readonly outlookNewEmailLink: string = \"https://outlook.office.com/mail/deeplink/compose\";\n\n  constructor(props: IPersonalEmailProps) {\n    super(props);\n\n    this.state = {\n      messages: [],\n      loading: false,\n      error: undefined\n    };\n  }\n\n  private addIcon: IIconProps = { iconName: 'Add' };\n  private viewList: IIconProps = { iconName: 'AllApps' };\n\n  /**\n   * Load recent messages for the current user\n   */\n  private _loadMessages(): void {\n    if (!this.props.graphClient) {\n      return;\n    }\n\n    // update state to indicate loading and remove any previously loaded\n    // messages\n    this.setState({\n      error: null,\n      loading: true,\n      messages: []\n    });\n\n    let graphURI: string = \"me/messages\";\n\n    if(this.props.showInboxOnly) {\n      graphURI = \"me/mailFolders/Inbox/messages\";\n    }\n\n    this.props.graphClient\n      .api(graphURI)\n      .version(\"v1.0\")\n      .select(\"bodyPreview,receivedDateTime,from,isRead,subject,webLink\")\n      .top(this.props.nrOfMessages || 5)\n      .orderby(\"receivedDateTime desc\")\n      .get((err: any, res: IMessages): void => {\n        if (err) {\n          // Something failed calling the MS Graph\n          this.setState({\n            error: err.message ? err.message : strings.Error,\n            loading: false\n          });\n          return;\n        }\n\n        // Check if a response was retrieved\n        if (res && res.value && res.value.length > 0) {\n          this.setState({\n            messages: res.value,\n            loading: false\n          });\n        }\n        else {\n          // No messages found\n          this.setState({\n            loading: false\n          });\n        }\n      });\n  }\n\n  /**\n   * Render message item\n   */\n  private _onRenderCell = (item: IMessage, index: number | undefined): JSX.Element => {\n    if (item.isRead) {\n      styles.message = styles.message + \" \" + styles.isRead;\n    }\n\n    return <Link href={item.webLink} className={styles.message} target='_blank'>\n          <div className={styles.from}>{item.from.emailAddress.name || item.from.emailAddress.address}</div>\n          <div className={styles.subject}>{item.subject}</div>\n          <div className={styles.date}>{(new Date(item.receivedDateTime).toLocaleDateString())}</div>\n          <div className={styles.preview}>{item.bodyPreview}</div>\n      </Link>;\n  }\n\n  public componentDidMount(): void {\n    // load data initially after the component has been instantiated\n    this._loadMessages();\n  }\n\n  public componentDidUpdate(prevProps: IPersonalEmailProps, prevState: IPersonalEmailState): void {\n    // verify if the component should update. Helps avoid unnecessary re-renders\n    // when the parent has changed but this component hasn't\n    if (prevProps.nrOfMessages !== this.props.nrOfMessages || prevProps.showInboxOnly !== this.props.showInboxOnly) {\n      this._loadMessages();\n    }\n  }\n\n  public render(): React.ReactElement<IPersonalEmailProps> {\n    const varientStyles = {\n      \"--varientBGColor\": this.props.themeVariant.semanticColors.bodyBackground\n      , \"--varientFontColor\": this.props.themeVariant.semanticColors.bodyText\n      , \"--varientBGHovered\": this.props.themeVariant.semanticColors.listItemBackgroundHovered    \n    } as React.CSSProperties;\n\n    \n    return (\n      <div className={styles.personalEmail} style={ varientStyles }>\n        <WebPartTitle displayMode={this.props.displayMode}\n          title={this.props.title}               \n          updateProperty={this.props.updateProperty} className={styles.title} />\n        \n        <ActionButton text={strings.NewEmail} iconProps={this.addIcon} onClick={this.openNewEmail} />\n        <ActionButton text={strings.ViewAll} iconProps={this.viewList} onClick={this.openList} />\n        {\n          this.state.loading &&\n          <Spinner label={strings.Loading} size={SpinnerSize.large} />\n        }\n        {\n          this.state.messages &&\n            this.state.messages.length > 0 ? (\n              <div>\n                <List items={this.state.messages}\n                  onRenderCell={this._onRenderCell} className={styles.list} />\n              </div>\n            ) : (\n              !this.state.loading && (\n                this.state.error ?\n                  <span className={styles.error}>{this.state.error}</span> :\n                  <span className={styles.noMessages}>{strings.NoMessages}</span>\n              )\n            )\n        }\n      </div>\n    );\n  }\n\n  private openNewEmail = () => {\n    window.open(this.outlookNewEmailLink, \"_blank\");\n  }\n\n  private openList = () => {\n    window.open(this.outlookLink, \"_blank\");\n  }\n}\n"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/components/index.ts",
    "content": "export * from './IMessage';\nexport * from './IPersonalEmailProps';\nexport * from './IPersonalEmailState';\nexport * from './PersonalEmail';"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Ein Fehler beim abrufen Ihrer Nachrichten ist aufgetreten.\",\n    \"Loading\": \"Rufe Ihre Nachrichten auf\",\n    \"NoMessages\": \"Keine Nachrichten gefunden\",\n    \"NrOfMessagesToShow\": \"Anzahl der anzuzeigenden Nachrichten\",\n    \"PropertyPaneDescription\": \"Nachrichten Web Part Konfiguration\",\n    \"ViewAll\": \"Vollständige Liste anzeigen\"  }\n});\n\n"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"An error has occurred while retrieving your messages\",\n    \"Loading\": \"Retrieving your messages\",\n    \"NewEmail\": \"New e-mail\",\n    \"NoMessages\": \"No messages were found\",\n    \"NrOfMessagesToShow\": \"Number of messages to show\",\n    \"PropertyPaneDescription\": \"Messages web part configuration\",\n    \"ShowInboxOnly\":\"Show e-mail from Inbox only\",\n    \"ShowInboxOnlyCallout\": \"When selected, only e-mails from Inbox will be shown.\",\n    \"ViewAll\": \"View the full list\"\n  }\n});"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Un erorr ha ocurrido mientrar obtenemos sus mensajes\",\n    \"Loading\": \"Obteniendo sus mensajes\",\n    \"NoMessages\": \"No se encontraron mensajes\",\n    \"NrOfMessagesToShow\": \"Numero de mensajes a mostrar\",\n    \"PropertyPaneDescription\": \"Configuracion del elemento web de Mensajes\",\n    \"ViewAll\": \"Ver la lista completa\"\n  }\n});\n"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Une erreur est survenue lors de la récupération de vos messages\",\n    \"Loading\": \"Récupération de vos messages\",\n    \"NewEmail\": \"Nouveau e-mail\",\n    \"NoMessages\": \"Aucun message n'a été trouvé\",\n    \"NrOfMessagesToShow\": \"Nombre de messages à afficher\",\n    \"PropertyPaneDescription\": \"Configuration des messages de la partie Web\",\n    \"ViewAll\": \"Voir toute la liste\"\n  }\n});"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/loc/mystrings.d.ts",
    "content": "declare interface IPersonalEmailWebPartStrings {\n  Error: string;\n  Loading: string;\n  NewEmail: string;\n  NoMessages: string;\n  NrOfMessagesToShow: string;\n  PropertyPaneDescription: string;\n  ShowInboxOnly: string;\n  ShowInboxOnlyCallout: string;\n  ViewAll: string;\n}\n\ndeclare module 'PersonalEmailWebPartStrings' {\n  const strings: IPersonalEmailWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"En feil oppstod ved henting av e-post\",\n    \"Loading\": \"Henter dine e-poster\",\n    \"NewEmail\": \"Ny e-post\",\n    \"NoMessages\": \"Ingen e-poster funnet\",\n    \"NrOfMessagesToShow\": \"Antall e-poster som skal vises\",\n    \"PropertyPaneDescription\": \"Konfigurer e-post webdelen\",\n    \"ViewAll\": \"Vis hele listen\"\n  }\n});\n"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"Error\": \"Een foutmelding is opgetreden bij het ophalen van je e-mails\",\n      \"Loading\": \"E-mails aan het ophalen\",\n      \"NewEmail\": \"Nieuwe e-mail\",\n      \"NoMessages\": \"Geen e-mail gevonden\",\n      \"NrOfMessagesToShow\": \"Aantal te tonen e-mails\",\n      \"PropertyPaneDescription\": \"E-mail webpart configuratie\",\n      \"ShowInboxOnly\":\"Toon alleen e-mail uit Inbox\",\n      \"ShowInboxOnlyCallout\": \"Indien dit inschakeld is worden alleen e-mails uit de Inbox getoond.\",\n      \"ViewAll\": \"Bekijk de volledige lijst\"\n    }\n  });"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Ett fel uppstod när dina meddelanden hämtades\",\n    \"Loading\": \"Hämtar dina meddelanden\",\n    \"NoMessages\": \"Inga meddelanden hittades\",\n    \"NrOfMessagesToShow\": \"Antal meddelanden att visa\",\n    \"PropertyPaneDescription\": \"Meddelanden webbdelskonfiguration\",\n    \"ViewAll\": \"Visa hela listan\"\n  }\n});"
  },
  {
    "path": "source/react-personal-email/src/webparts/personalEmail/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"Error\": \"Mesajlarınız alınırken bir hata oluştu.\",\n    \"Loading\": \"Mesajlarınızı alınıyor\",\n    \"NewEmail\": \"Yeni e-posta\",\n    \"NoMessages\": \"Hiçbir mesaj bulunamadı\",\n    \"NrOfMessagesToShow\": \"Gösterilecek mesaj sayısı\",\n    \"PropertyPaneDescription\": \"Mesajlar web parçası yapılandırması\",\n    \"ShowInboxOnly\":\"Sadece gelen kutusundaki e-postayı göster\",\n    \"ShowInboxOnlyCallout\": \"Seçildiğinde, yalnızca Gelen Kutusu'ndan gelen e-postalar gösterilecektir.\",\n    \"ViewAll\": \"Listenin tamamını görüntüle\"\n  }\n});"
  },
  {
    "path": "source/react-personal-email/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-personal-tasks/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-personal-tasks/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-personal-tasks/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-personal-tasks/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-personal-tasks/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-personal-tasks/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-personal-tasks\",\n    \"libraryId\": \"95cfc0f9-4052-476f-8443-8f23245e2a87\",\n    \"packageManager\": \"npm\",\n    \"componentType\": \"webpart\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false\n  }\n}"
  },
  {
    "path": "source/react-personal-tasks/README.md",
    "content": "# Personal Tasks web part\n\nThis web part provides you the ability to add a particular user's personal tasks on a web page. The web part may be configured to show tasks from Planner or To Do. This web part is powered by the Microsoft Graph.\n\nThis webpart is a technology demostrator of Microsoft Graph Toolkit React components, in particular \"Tasks\". This webpart uses the @microsoft/mgt-react and @microsoft/mgt-spfx packages, currently version 2.9.0.\n\n> `NOTE:` This webpart includes the use the Microsoft Graph Toolkit with React, [@microsoft/mgt-react](https://www.npmjs.com/package/@microsoft/mgt-react).\n\n> `NOTE:` This webpart includes the use the Microsoft Graph Toolkit with React SPFx, [@microsoft/mgt-spfx](../mgt-spfx/README.md) with a dependency on [mgt-spfx-2.9.0.sppkg](https://github.com/microsoftgraph/microsoft-graph-toolkit/releases) that must be installed to the tenant app catalog. By default the Starter Kit will install this additional dependency.\n\n![Personal Tasks](./assets/personal-tasks-demo.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Personal Tasks** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Personal Tasks` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| My Tasks | title | string | no | The web part title, editable inline with the web part itself |\n| Data source | dataSource | 'planner' \\| 'todo' | yes | Web part's data source: Planner or To Do. Default: planner |\n| Allow editing | allowEditing | boolean | no | Flag if editing is allowed. Default is false. |\n| Hide filter | hideHeader | boolean | no | Flag if the header on MS Graph Toolkit Personal Tasks component should be hidden. The header contains a filter and \"Add\" button. Default is true. |\n| Initially displayed Plan or ToDo Folder id | initialId | string | no | A string id to set the initially displayed planner or folder to the provided ID. |\n| Initially displayed bucket id | initialBucketId | string | no | A string id to set the initially displayed bucket (Planner Data-Source Only) to the provided ID. |\n| Source Plan or ToDo Folder id | targetId | string | no | A string id to lock the tasks interface to the provided planner or folder ID. |\n| Source bucket id | targetBucketId | string | no | A string ID to lock the tasks interface to the provided bucket ID (Planner Data-Source Only). |\n\n## Configuration suggestions\n\n* When \"hide filter\" is selected, the filter header will be hidden from view (default setting). With the filter hidden, you remove the ability for a visitor to filter task results by all tasks or tasks for the current user. By default, if a planner id is not specified, a visitor will see only their tasks. If a specific planner id is set in the webpart properties, all tasks within that planner are displayed. To allow for filtering in this scenario, you will want to sure that the filter is not hidden (unchecked).\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\n* [mgt-spfx-2.9.0.sppkg](https://github.com/microsoftgraph/microsoft-graph-toolkit/releases) must be installed to the tenant app catalog. By default the Starter Kit will install this additional dependency.\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-personal-tasks | Waldek Mastykarz\nreact-personal-tasks | Alex Terentiev\nreact-personal-tasks | Eric Overfield\nreact-personal-tasks | Chandani Prajapati\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|December 25, 2019|Initial release\n2.2|August 2021|Upgrade to MGT 2.2.1\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1 and MGT 2.9.0)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp bundle`\n  * `gulp package-solution`\n  * Upload solution to the SharePoint App Catalog\n  * Approve needed permissions in SharePoint Admin Center\n  * `gulp serve`\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Using Microsoft Graph Toolkit from the web parts\n* Hosting SharePoint Framework components as Microsoft Teams tabs\n* Using app pages in SharePoint Online\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-personal-tasks\" />\n"
  },
  {
    "path": "source/react-personal-tasks/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"personal-tasks-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/personalTasks/PersonalTasksWebPart.js\",\n          \"manifest\": \"./src/webparts/personalTasks/PersonalTasksWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"PersonalTasksWebPartStrings\": \"lib/webparts/personalTasks/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/react-personal-tasks/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-personal-tasks\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-personal-tasks/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Personal Tasks\",\n    \"id\": \"95cfc0f9-4052-476f-8443-8f23245e2a87\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-personal-tasks description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-personal-tasks description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - Personal Tasks Webpart Feature\",\n        \"description\": \"The feature that activates Personal Tasks from the Starter Kit - Personal Tasks solution.\",\n        \"id\": \"9eac8961-60e7-45b8-990e-175340d7c4a0\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"9eac8961-60e7-45b8-990e-175340d7c4a0\"\n        ]\n      }\n    ],\n    \"webApiPermissionRequests\": [\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"Group.ReadWrite.All\"\n      },\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"Tasks.ReadWrite\"\n      },\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"People.Read\"\n      },\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"User.ReadBasic.All\"\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-personal-tasks.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-personal-tasks/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-personal-tasks/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-personal-tasks/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-personal-tasks/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-personal-tasks/package.json",
    "content": "{\n  \"name\": \"react-personal-tasks\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/mgt-react\": \"2.9.0\",\n    \"@microsoft/mgt-spfx\": \"2.9.0\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-personal-tasks/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-personal-tasks/src/webparts/personalTasks/PersonalTasksWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"9eac8961-60e7-45b8-990e-175340d7c4a0\",\n  \"alias\": \"PersonalTasksWebPart\",\n  \"componentType\": \"WebPart\",\n\n  \"supportsThemeVariants\": true,\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n  \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsTab\", \"TeamsPersonalApp\"],\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"Personal Tasks\" },\n    \"description\": { \"default\": \"Personal tasks of the user\" },\n    \"officeFabricIconFontName\": \"TaskManager\",\n    \"properties\": {\n      \"webPartTitle\": \"My Tasks\",\n      \"allowEditing\": false,\n      \"dataSource\": \"planner\",\n      \"hideHeader\": true\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-personal-tasks/src/webparts/personalTasks/PersonalTasksWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration, PropertyPaneTextField, PropertyPaneCheckbox, PropertyPaneDropdown } from \"@microsoft/sp-property-pane\";\n\nimport { ThemeProvider, ThemeChangedEventArgs, IReadonlyTheme } from '@microsoft/sp-component-base';\n\nimport * as strings from 'PersonalTasksWebPartStrings';\nimport { PersonalTasks } from './components/PersonalTasks';\nimport { IPersonalTasksProps } from './components/IPersonalTasksProps';\n\n// import the providers at the top of the page\nimport { Providers, SharePointProvider } from '@microsoft/mgt-spfx';\nimport { PropertyPaneHorizontalRule } from '@microsoft/sp-property-pane';\n\nimport { TasksSource } from '@microsoft/mgt-spfx';\n\nexport interface IPersonalTasksWebPartProps {\n  /**\n   * The web part title\n   */\n  webPartTitle: string;\n  /**\n   * Tasks' data source - Planner or ToDo\n   */\n  dataSource: TasksSource;\n  /**\n   * Flag if editing is allowed. Default is false.\n   */\n  allowEditing: boolean;\n  /**\n   * Flag if the header on MS Graph Toolkit Personal Tasks component should be hidden.\n   * The header contains a filter and \"Add\" button.\n   * Default is true.\n   */\n  hideHeader: boolean;\n  /**\n   * A string id to set the initially displayed planner or folder to the provided ID.\n   */\n  initialId: string;\n  /**\n   * A string id to set the initially displayed bucket (Planner Data-Source Only) to the provided ID.\n   */\n  initialBucketId: string;\n  /**\n   * A string id to lock the tasks interface to the provided planner or folder ID.\n   */\n  targetId: string;\n  /**\n   * A string ID to lock the tasks interface to the provided bucket ID (Planner Data-Source Only).\n   */\n  targetBucketId: string;\n}\n\nexport default class PersonalTasksWebPart extends BaseClientSideWebPart<IPersonalTasksWebPartProps> {\n\n  // theme provider\n  private _themeProvider: ThemeProvider;\n  // current theme\n  private _themeVariant: IReadonlyTheme | undefined;\n\n  public async onInit(): Promise<void> {\n    // initializing authentication provider for MS Graph Toolkit\n    Providers.globalProvider = new SharePointProvider(this.context);\n\n    // Consume the new ThemeProvider service\n    this._themeProvider = this.context.serviceScope.consume(ThemeProvider.serviceKey);\n\n    // If it exists, get the theme variant\n    this._themeVariant = this._themeProvider.tryGetTheme();\n\n    // Register a handler to be notified if the theme variant changes\n    this._themeProvider.themeChangedEvent.add(this, this._handleThemeChangedEvent);\n\n    return super.onInit();\n  }\n\n  public render(): void {\n    const element: React.ReactElement<IPersonalTasksProps> = React.createElement(\n      PersonalTasks,\n      {\n        onTitleChange: title => { this.properties.webPartTitle = title; },\n        displayMode: this.displayMode,\n        themeVariant: this._themeVariant,\n        ...this.properties\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected onDispose(): void {\n    ReactDom.unmountComponentAtNode(this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupName: strings.BasicGroupName,\n              groupFields: [\n                PropertyPaneDropdown('dataSource', {\n                  label: strings.DataSourcePropertyLabel,\n                  options: [{\n                    key: 'planner',\n                    text: strings.DataSourcePlanner\n                  }, {\n                    key: 'todo',\n                    text: strings.DataSourceToDo\n                  }]\n                }),\n                PropertyPaneHorizontalRule(),\n                PropertyPaneCheckbox('allowEditing', {\n                  text: strings.AllowEditingPropertyLabel\n                }),\n                PropertyPaneCheckbox('hideHeader', {\n                  text: strings.HideHeaderPropertyLabel\n                }),\n                PropertyPaneHorizontalRule(),\n                PropertyPaneTextField('initialId', {\n                  label: strings.InitialId\n                }),\n                PropertyPaneTextField('initialBucketId', {\n                  label: strings.InitialBucketId,\n                  disabled: this.properties.dataSource === TasksSource.todo\n                }),\n                PropertyPaneTextField('targetId', {\n                  label: strings.TargetId\n                }),\n                PropertyPaneTextField('targetBucketId', {\n                  label: strings.TargetBucketId,\n                  disabled: this.properties.dataSource === TasksSource.todo\n                }),\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n\n  protected _handleThemeChangedEvent = (args: ThemeChangedEventArgs): void => {\n    this._themeVariant = args.theme;\n    this.render();\n  }\n}\n"
  },
  {
    "path": "source/react-personal-tasks/src/webparts/personalTasks/components/IPersonalTasksProps.ts",
    "content": "import { TasksSource } from '@microsoft/mgt-spfx';\nimport { IReadonlyTheme } from '@microsoft/sp-component-base';\nimport { DisplayMode } from '@microsoft/sp-core-library';\n\nexport interface IPersonalTasksProps {\n  /**\n   * The web part title\n   */\n  webPartTitle: string;\n  /**\n   * Tasks' data source - Planner or ToDo\n   */\n  dataSource: TasksSource;\n  /**\n   * Flag if editing is allowed. Default is false.\n   */\n  allowEditing: boolean;\n  /**\n   * Flag if the header on MS Graph Toolkit Personal Tasks component should be hidden.\n   * The header contains a filter and \"Add\" button.\n   * Default is true.\n   */\n  hideHeader: boolean;\n  /**\n   * A string id to set the initially displayed planner or folder to the provided ID.\n   */\n  initialId: string;\n  /**\n   * A string id to set the initially displayed bucket (Planner Data-Source Only) to the provided ID.\n   */\n  initialBucketId: string;\n  /**\n   * A string id to lock the tasks interface to the provided planner or folder ID.\n   */\n  targetId: string;\n  /**\n   * A string ID to lock the tasks interface to the provided bucket ID (Planner Data-Source Only).\n   */\n  targetBucketId: string;\n  /**\n   * Current display mode of the web part\n   */\n  displayMode: DisplayMode;\n  /**\n   * Web part's title change handler\n   */\n  onTitleChange: (value: string) => void;\n  /**\n   * Page's section theme\n   */\n  themeVariant: IReadonlyTheme | undefined;\n}\n"
  },
  {
    "path": "source/react-personal-tasks/src/webparts/personalTasks/components/PersonalTasks.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.personalTasks {\n  background: inherit;\n}\n\n.webPartHeader {\n  display: flex;\n  align-items: baseline;\n}\n\n.webPartTitle {\n  font-size: 14px;\n  font-weight: 100;\n  margin-bottom: 11px;\n  color: \"[theme:neutralPrimary, default: #333333]\";\n  -webkit-box-flex: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  overflow-x: hidden;\n  text-overflow: ellipsis;\n\n  @media (min-width: 320px) {\n    font-size: 21px;\n  }\n\n  @media (min-width: 480px) {\n    font-size: 24px;\n  }\n\n  // Edit mode\n  textarea {\n    background-color: transparent;\n    border: none;\n    box-sizing: border-box;\n    color: inherit;\n    display: block;\n    font-family: inherit;\n    font-size: inherit;\n    font-weight: inherit;\n    height: 40px;\n    line-height: inherit;\n    margin: 0;\n    outline: 0;\n    overflow: hidden;\n    resize: none;\n    text-align: inherit;\n    white-space: pre;\n    width: 100%;\n\n    &::placeholder,\n    &::-webkit-input-placeholder {\n      color: \"[theme: neutralSecondary, default: #666666]\"!important;\n    }\n  }\n\n  // View mode\n  span {\n    // Nothing at the moment\n\n    a:link {\n      text-decoration: none;\n    }\n  }\n\n  .moreLink {\n    margin-bottom: 11px;\n  }\n}\n"
  },
  {
    "path": "source/react-personal-tasks/src/webparts/personalTasks/components/PersonalTasks.tsx",
    "content": "import { DisplayMode } from '@microsoft/sp-core-library';\nimport * as strings from 'PersonalTasksWebPartStrings';\nimport * as React from 'react';\nimport { IPersonalTasksProps } from './IPersonalTasksProps';\nimport styles from './PersonalTasks.module.scss';\nimport { TasksProps } from '@microsoft/mgt-react';\nimport { TasksSource } from '@microsoft/mgt-spfx';\nimport { wrapMgt } from '@microsoft/mgt-react/dist/es6/spfx';\n\nexport const Tasks = wrapMgt<TasksProps>('mgt-tasks');\n\nexport class PersonalTasks extends React.Component<IPersonalTasksProps, {}> {\n  public render(): React.ReactElement<IPersonalTasksProps> {\n    const {\n      webPartTitle,\n      displayMode,\n      dataSource,\n      allowEditing,\n      hideHeader,\n      initialId,\n      initialBucketId,\n      targetId,\n      targetBucketId,\n      themeVariant\n    } = this.props;\n\n    //\n    // supporting different themes for page's section\n    //\n    const color: string | null = (!!themeVariant && themeVariant.semanticColors.bodyText) || null;\n    const backgroundColor: string | null = (!!themeVariant && themeVariant.semanticColors.bodyBackground) || null;\n\n    return (\n      <div className={styles.personalTasks} style={{ backgroundColor: backgroundColor }}>\n        {(webPartTitle || displayMode === DisplayMode.Edit) &&\n          <div className={styles.webPartHeader}>\n            <div className={styles.webPartTitle} style={{ color: color }}>\n              {\n                displayMode === DisplayMode.Edit && (\n                  <textarea placeholder={strings.WebPartTitlePlaceholder} aria-label={strings.WebPartTitleLabel} onChange={this._onTitleChange} defaultValue={webPartTitle}></textarea>\n                )\n              }\n\n              {\n                displayMode !== DisplayMode.Edit && webPartTitle && <span role=\"heading\" aria-level={2}>{webPartTitle}</span>\n              }\n            </div>\n          </div>\n        }\n        <Tasks\n          dataSource={TasksSource[dataSource]}\n          initialId={initialId}\n          initialBucketId={initialBucketId}\n          targetId={targetId}\n          targetBucketId={targetBucketId}\n          readOnly={!allowEditing}\n          hideHeader={hideHeader} />\n      </div>\n    );\n  }\n\n  private _onTitleChange = (event: { target: { value: any; }; }): void => {\n    this.props.onTitleChange(event.target.value);\n  }\n}\n"
  },
  {
    "path": "source/react-personal-tasks/src/webparts/personalTasks/loc/en-us.js",
    "content": "define([], function () {\n  return {\n    \"PropertyPaneDescription\": \"Configure parameters of displayed personal tasks\",\n    \"BasicGroupName\": \"\",\n    \"AllowEditingPropertyLabel\": \"Allow editing\",\n    \"DataSourcePropertyLabel\": \"Data source\",\n    \"DataSourcePlanner\": \"Planner\",\n    \"DataSourceToDo\": \"To Do\",\n    \"HideHeaderPropertyLabel\": \"Hide filter\",\n    \"InitialId\": \"Initially displayed Plan or To Do Folder id\",\n    \"InitialBucketId\": \"Initially displayed bucket id\",\n    \"TargetId\": \"Source Plan or To Do Folder id\",\n    \"TargetBucketId\": \"Source bucket id\",\n    \"WebPartTitlePlaceholder\": \"Web part title\",\n    \"WebPartTitleLabel\": \"Add a title\"\n  }\n});\n"
  },
  {
    "path": "source/react-personal-tasks/src/webparts/personalTasks/loc/mystrings.d.ts",
    "content": "declare interface IPersonalTasksWebPartStrings {\n  PropertyPaneDescription: string;\n  BasicGroupName: string;\n  AllowEditingPropertyLabel: string;\n  DataSourcePropertyLabel: string;\n  DataSourcePlanner: string;\n  DataSourceToDo: string;\n  HideHeaderPropertyLabel: string;\n  InitialId: string;\n  InitialBucketId: string;\n  TargetId: string;\n  TargetBucketId: string;\n  WebPartTitlePlaceholder: string;\n  WebPartTitleLabel: string;\n}\n\ndeclare module 'PersonalTasksWebPartStrings' {\n  const strings: IPersonalTasksWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-personal-tasks/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-recent-contacts/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-recent-contacts/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          0,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // no-mixed-spaces-and-tabs\n        // ====================================================================\n        'no-mixed-spaces-and-tabs': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-recent-contacts/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-recent-contacts/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-recent-contacts/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-recent-contacts/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-recent-contacts\",\n    \"libraryId\": \"a9a1f9c1-f04b-4308-8029-2b15c1f93e20\",\n    \"packageManager\": \"npm\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-recent-contacts/README.md",
    "content": "# Recent Contacts web part\n\nThis web part provides you the ability to display list of a particular user's recent contacts on a web page. The web part may be configured to display a pre-defined number of contacts at a time. This web part is powered by the Microsoft Graph, in particular the **/me/people** endpoint\n\nThis webpart is a technology demostrator of Microsoft Graph Toolkit React components, in particular \"Get\" and \"Person\". This webpart uses the @microsoft/mgt-react and @microsoft/mgt-spfx packages, currently version 2.9.0.\n\n> `NOTE:` This webpart includes the use the Microsoft Graph Toolkit with React, [@microsoft/mgt-react](https://www.npmjs.com/package/@microsoft/mgt-react).\n\n> `NOTE:` This webpart includes the use the Microsoft Graph Toolkit with React SPFx, [@microsoft/mgt-spfx](../mgt-spfx/README.md) with a dependency on [mgt-spfx-2.9.0.sppkg](https://github.com/microsoftgraph/microsoft-graph-toolkit/releases) that must be installed to the tenant app catalog. By default the Starter Kit will install this additional dependency.\n\n![Recent Contacts](../../assets/images/components/part-recent-contacts.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Recent Contacts** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Recent Contacts` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Recent contacts | title | string | no | The web part title, editable inline with the web part itself |\n| Specify the number of contacts to show | nrOfContacts | number | no | Default: 5 - The number of contacts to show |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n\n## Prerequisites\n\n* [mgt-spfx-2.9.0.sppkg](https://github.com/microsoftgraph/microsoft-graph-toolkit/releases) must be installed to the tenant app catalog. By default the Starter Kit will install this additional dependency.\n\nPermissions to Microsoft Graph - scope: \"People.Read\" and \"User.Read\"\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nsolution/src/webparts/recentContacts | Elio Struyf (@estruyf)\nsolution/src/webparts/recentContacts | Waldek Mastykarz (@waldekm)\nsolution/src/webparts/recentContacts | Simon Agren (@agrenpoint)\nsolution/src/webparts/recentContacts | Jérémy Crestel (@j_crestel)\nsolution/src/webparts/recentContacts | Daniel Laskewitz (@laskewitz)\nsolution/src/webparts/recentContacts | Vardhaman Deshpande (@vrdmn)\nsolution/src/webparts/recentContacts | Jakob Nøtseth (@net_freak)\nsolution/src/webparts/recentContacts | Mikael Svenson (@mikaelsvenson)\nsolution/src/webparts/recentContacts | Özgür Ersoy (@moersoy)\nsolution/src/webparts/recentContacts | Guido Zambarda\nsource/react-recent-contacts | Yannick Reekmans (@yannickreekmans)\nreact-recent-contacts | Chandani Prajapati (@Chandani_SPD)\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|April 7, 2018|Initial release\n2.0|December 4, 2019|v2.0\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Using Microsoft Graph and the Microsoft Graph Toolkit React components within a web part\n* Using Webpack Chunking for bundle management\n* Using PnP Property Controls (number)\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-recent-contacts\" />\n"
  },
  {
    "path": "source/react-recent-contacts/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"recent-contacts-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/recentContacts/RecentContactsWebPart.js\",\n          \"manifest\": \"./src/webparts/recentContacts/RecentContactsWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"RecentContactsWebPartStrings\": \"lib/webparts/recentContacts/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-recent-contacts/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-recent-contacts\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-recent-contacts/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Recent Contacts\",\n    \"id\": \"a9a1f9c1-f04b-4308-8029-2b15c1f93e20\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-recent-contacts description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-recent-contacts description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit Starter Kit - Recent Contacts Webpart Feature\",\n        \"description\": \"The feature that activates Recent Contacts Webpart from the Starter Kit - Recent Contacts solution.\",\n        \"id\": \"726c9a2a-cf33-4928-86a5-fa7c283c610e\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"726c9a2a-cf33-4928-86a5-fa7c283c610e\"\n        ]\n      }\n    ],\n    \"webApiPermissionRequests\": [\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"People.Read\"\n      },\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"User.Read\"\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-recent-contacts.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-recent-contacts/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-recent-contacts/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-recent-contacts/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-recent-contacts/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-recent-contacts/package.json",
    "content": "{\n  \"name\": \"react-recent-contacts\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/mgt-react\": \"2.9.0\",\n    \"@microsoft/mgt-spfx\": \"2.9.0\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"@pnp/spfx-property-controls\": \"3.11.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/RecentContactsWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"726c9a2a-cf33-4928-86a5-fa7c283c610e\",\n  \"alias\": \"RecentContactsWebPart\",\n  \"componentType\": \"WebPart\",\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n  \"requiresCustomScript\": false,\n  \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsTab\", \"TeamsPersonalApp\"],\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\",\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"Recent contacts\" },\n    \"description\": { \"default\": \"Lists recent contacts of the user\" },\n    \"officeFabricIconFontName\": \"ContactLink\",\n    \"properties\": {\n      \"title\": \"Recent contacts\",\n      \"nrOfContacts\": 5\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/RecentContactsWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration } from \"@microsoft/sp-property-pane\";\nimport * as strings from 'RecentContactsWebPartStrings';\nimport { RecentContacts, IRecentContactsProps } from './components';\nimport { Providers, SharePointProvider } from '@microsoft/mgt-spfx';\n\nexport interface IRecentContactsWebPartProps {\n  title: string;\n  nrOfContacts: number;\n}\n\nexport default class RecentContactsWebPart extends BaseClientSideWebPart<IRecentContactsWebPartProps> {\n  private propertyFieldNumber: any;\n\n  protected onInit(): Promise<void> {\n    if (!Providers.globalProvider) {\n      Providers.globalProvider = new SharePointProvider(this.context);\n    }\n    return super.onInit();\n  }\n\n  public render(): void {\n    const element: React.ReactElement<IRecentContactsProps> = React.createElement(\n      RecentContacts,\n      {\n        title: this.properties.title,\n        nrOfContacts: this.properties.nrOfContacts,\n        displayMode: this.displayMode,\n        updateProperty: (value: string) => {\n          this.properties.title = value;\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  //executes only before property pane is loaded.\n  protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n\n    const { PropertyFieldNumber } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-number' */\n      '@pnp/spfx-property-controls/lib/propertyFields/number'\n    );\n\n    this.propertyFieldNumber = PropertyFieldNumber;\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupFields: [\n                this.propertyFieldNumber(\"nrOfContacts\", {\n                  key: \"nrOfContacts\",\n                  label: strings.NrOfContactsToShow,\n                  value: this.properties.nrOfContacts,\n                  minValue: 1,\n                  maxValue: 10\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/IContacts.ts",
    "content": "export interface IContacts {\n  '@odata.context': string;\n  value: IContact[];\n}\n\nexport interface IContact {\n  '@odata.etag': string;\n  id: string;\n  displayName: string;\n  phones: Phone[];\n  scoredEmailAddresses: ScoredEmailAddress[];\n  personType: PersonType;\n}\n\nexport interface ScoredEmailAddress {\n  address: string;\n  relevanceScore: number;\n  selectionLikelihood: string;\n}\n\nexport interface Phone {\n  type: string;\n  number: string;\n}\n\nexport interface PersonType {\n  class: string;\n  subclass: string;\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/IRecentContactsProps.ts",
    "content": "import { IRecentContactsWebPartProps } from \"../RecentContactsWebPart\";\nimport { DisplayMode } from '@microsoft/sp-core-library';\n\nexport interface IRecentContactsProps extends IRecentContactsWebPartProps {\n  displayMode: DisplayMode;\n  updateProperty: (value: string) => void;\n}"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/IRecentContactsState.ts",
    "content": "import { IContact } from '.';\n\nexport interface IRecentContactsState {\n  recentContacts: IContact[];\n  error: string;\n  loading: boolean;\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/RecentContacts.module.scss",
    "content": "@import \"~@fluentui/react/dist/sass/References.scss\";\n\n.recentContacts {\n  .persona {\n    margin-bottom: 5px;\n  }\n\n  .header {\n    display: flex;\n    align-items: center;\n    margin-bottom: 5px;\n  }\n\n  .personaDetails {\n    padding: 0px 24px 0px 16px;\n    min-width: 0px;\n    width: 100%;\n    text-align: left;\n    display: flex;\n    flex-direction: column;\n    justify-content: space-around;\n\n    .titleText {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      color: rgb(51, 51, 51);\n      font-weight: 400;\n      font-size: 20px;\n    }\n\n    .emailText {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      color: $ms-color-themePrimary;\n      font-weight: 400;\n      font-size: 14px;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    }\n\n    .contactText {\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      color: $ms-color-themePrimary;\n      font-weight: 400;\n      font-size: 14px;\n    }\n  }\n\n  .noContacts {\n    @include ms-font-m;\n  }\n\n  .error {\n    @include ms-font-m;\n    color: $ms-color-alert;\n  }\n\n  mgt-person {\n    --avatar-size: 72px;\n    --font-size: 28px;\n    --font-weight: 800;\n  }\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/RecentContacts.tsx",
    "content": "import * as React from 'react';\nimport styles from './RecentContacts.module.scss';\nimport { IRecentContactsProps, IRecentContactsState, IContacts, IContact } from '.';\nimport { WebPartTitle } from '@pnp/spfx-controls-react/lib/WebPartTitle';\nimport * as strings from 'RecentContactsWebPartStrings';\nimport { Spinner, SpinnerSize } from '@fluentui/react/lib/Spinner';\nimport { List } from '@fluentui/react/lib/List';\nimport { Get, MgtTemplateProps, Person } from '@microsoft/mgt-react/dist/es6/spfx';\nimport { Link } from '@fluentui/react/lib/Link';\n\nexport class RecentContacts extends React.Component<IRecentContactsProps> {\n  constructor(props: IRecentContactsProps) {\n    super(props);\n  }\n\n  private PersonComponent(props: MgtTemplateProps) {\n    const data = props.dataContext;\n\n    return (\n      <div className={styles.header} >\n        <Person\n          key={data.id}\n          personQuery={data.displayName}\n          avatarSize={'large'}\n          fetchImage={true}\n        />\n        <div className={styles.personaDetails}>\n          <div className={styles.titleText}> {data.displayName}</div>\n          {data?.emailAddresses.length && data.emailAddresses[0].address && <Link href={`mailto:${data.emailAddresses[0].address}`}>{data.emailAddresses[0].address}</Link>}\n          {data?.phones?.length ? <Link href={`tel:${data.phones[0].number}`}>{data.phones[0].number}</Link> : ''}\n        </div>\n      </div >\n    )\n\n  }\n\n  private LoaderComponent(props: MgtTemplateProps) {\n    return (<Spinner label={strings.Loading} size={SpinnerSize.large} />);\n  }\n\n  private ErrorComponent(props: MgtTemplateProps) {\n    return (<span className={styles.error}>{JSON.parse(props?.dataContext?.body).message || strings.Error}</span>);\n  }\n  \n\n  /**\n   * Default React render method\n   */\n  public render(): React.ReactElement<IRecentContactsProps> {\n    const noOfContact = this.props.nrOfContacts || 5;\n    const peopleEndpointUrl = `/me/people?$top=${noOfContact}`;\n    const maxPages = 1;\n\n    return (\n      <div className={styles.recentContacts}>\n        <WebPartTitle displayMode={this.props.displayMode}\n          title={this.props.title}\n          updateProperty={this.props.updateProperty} />\n\n        <div className={styles.personaDetails}>\n          <Get resource={peopleEndpointUrl} max-pages={maxPages} version=\"beta\" scopes={[\"People.Read.All\"]} >\n            <this.PersonComponent template='value' />\n            <this.LoaderComponent template='loading' />\n            <this.ErrorComponent template='error' />\n          </Get>\n        </div>\n      </div>\n    );\n  }\n}"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/index.ts",
    "content": "export * from './IRecentContactsProps';\nexport * from './IRecentContactsState';\nexport * from './IContacts';\nexport * from './RecentContacts';\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/person/IPersonProps.ts",
    "content": "import { MSGraphClientV3 } from '@microsoft/sp-http';\nimport { IContact } from \"..\";\n\nexport interface IPersonProps {\n  className: string;\n  person: IContact;\n  graphClient: MSGraphClientV3;\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/person/IPersonState.ts",
    "content": "export interface IPersonState {\n  image: string;\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/person/Person.tsx",
    "content": "import * as React from 'react';\nimport { IPersonProps, IPersonState } from '.';\nimport { Persona, PersonaSize, IPersonaProps } from '@fluentui/react/lib/Persona';\nimport { Link } from '@fluentui/react/lib/Link';\n\nexport class Person extends React.Component<IPersonProps, IPersonState> {\n  constructor(props: IPersonProps) {\n    super(props);\n\n    this.state = {\n      image: null\n    };\n  }\n\n  /**\n   * Renders the secondary field as mail\n   */\n  private _renderMail = (props: IPersonaProps) => {\n    if (props.secondaryText) {\n      return <Link href={`mailto:${props.secondaryText}`}>{props.secondaryText}</Link>;\n    }\n\n    return <div />;\n  }\n\n  /**\n   * Renders the tertiary field as mail\n   */\n  private _renderPhone = (props: IPersonaProps) => {\n    if (props.tertiaryText) {\n      return <Link href={`tel:${props.tertiaryText}`}>{props.tertiaryText}</Link>;\n    }\n\n    return <div />;\n  }\n\n  /**\n   * componentDidMount lifecycle hook\n   */\n  public componentDidMount(): void {\n    const { person, graphClient } = this.props;\n    if (person) {\n      // Check if the image can be retrieved\n      const { personType } = person;\n      if (personType && personType.class.toLowerCase() === \"person\" && personType.subclass.toLowerCase() === \"organizationuser\") {\n        graphClient.api(`users/${person.id}/photo/$value`).version(\"v1.0\").responseType('blob').get((err: any, res: any, rawResponse: { xhr: { response: Blob | MediaSource; }; }) => {\n          // Check if the image was retrieved\n          if (rawResponse && rawResponse.xhr && rawResponse.xhr.response) {\n            const url = window.URL;\n\t\t\t\t    const blobUrl = url.createObjectURL(rawResponse.xhr.response);\n            this.setState({\n              image: blobUrl\n            });\n          }\n        });\n      }\n    }\n  }\n\n  /**\n   * Default React render\n   */\n  public render(): React.ReactElement<IPersonProps> {\n    const { person } = this.props;\n    let phoneNr: string = null;\n    if (person.phones && person.phones.length > 0) {\n      phoneNr = person.phones[0].number;\n    }\n\n    let email: string = null;\n    if (person.scoredEmailAddresses && person.scoredEmailAddresses.length > 0) {\n      email = person.scoredEmailAddresses[0].address;\n    }\n\n    return (\n      <Persona className={this.props.className}\n               primaryText={person.displayName}\n               secondaryText={email}\n               onRenderSecondaryText={this._renderMail}\n               tertiaryText={phoneNr}\n               onRenderTertiaryText={this._renderPhone}\n               imageUrl={this.state.image}\n               size={PersonaSize.size72} />\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/components/person/index.ts",
    "content": "export * from \"./IPersonProps\";\nexport * from \"./IPersonState\";\nexport * from \"./Person\";\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"DescriptionFieldLabel\": \"Kontakte Web Part Configuration\",\n    \"NrOfContactsToShow\": \"Geben Sie die Anzahl der anzuzeigenden Kontakte an\",\n    \"NoContacts\": \"Keine Kontake gefunden.\",\n    \"Loading\": \"Rufe Ihre Kontakte auf\",\n    \"Error\": \"Ein Fehler beim Aufrufen Ihrer Kontakte ist aufgetreten.\"\n  }\n});"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"DescriptionFieldLabel\": \"Contacts web part configuration\",\n    \"NrOfContactsToShow\": \"Specify the number of contacts to show\",\n    \"NoContacts\": \"No contacts were found.\",\n    \"Loading\": \"Retrieving your contacts\",\n    \"Error\": \"Sorry, something failed retrieving your contacts.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"DescriptionFieldLabel\": \"Configuracion de elemento web de Contactos\",\n    \"NrOfContactsToShow\": \"Especifique el numero de contactos a mostrar\",\n    \"NoContacts\": \"No se encontraron contactos.\",\n    \"Loading\": \"Obteniendo sus contactos\",\n    \"Error\": \"Lo sentimos, algo fallo al obtener sus contactos.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"DescriptionFieldLabel\": \"Configuration des contacts de la partie Web\",\n    \"NrOfContactsToShow\": \"Spécifiez le nombre de contacts à afficher\",\n    \"NoContacts\": \"Aucun contact n'a été trouvé.\",\n    \"Loading\": \"Récupération de vos contacts\",\n    \"Error\": \"Désolé, quelque chose a échoué lors de la récupération de vos contacts.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/loc/mystrings.d.ts",
    "content": "declare interface IRecentContactsWebPartStrings {\n  PropertyPaneDescription: string;\n  NrOfContactsToShow: string;\n  NoContacts: string;\n  Loading: string;\n  Error: string;\n}\n\ndeclare module 'RecentContactsWebPartStrings' {\n  const strings: IRecentContactsWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"DescriptionFieldLabel\": \"Kontakter webdel konfigurasjon\",\n    \"NrOfContactsToShow\": \"Angi hvor mange kontakter som skal vises\",\n    \"NoContacts\": \"Ingen kontakter funnet.\",\n    \"Loading\": \"Henter dine kontakter\",\n    \"Error\": \"En feil oppstod ved henting av dine kontakter.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"DescriptionFieldLabel\": \"Contacten webpart configuratie\",\n      \"NrOfContactsToShow\": \"Specificeer het aantal contacten die getoond moeten worden\",\n      \"NoContacts\": \"Geen contacten gevonden.\",\n      \"Loading\": \"Contacten worden opgehaald\",\n      \"Error\": \"Sorry, er is iets fout gegaan tijdens het ophalen van je contacten.\"\n    }\n  });\n  \n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"DescriptionFieldLabel\": \"Kontakter webbdelskonfiguration\",\n    \"NrOfContactsToShow\": \"Ange antal kontakter som skall visas\",\n    \"NoContacts\": \"Inga kontakter hittades.\",\n    \"Loading\": \"Hämtar dina kontakter\",\n    \"Error\": \"Tyvärr, något gick fel med att hämta dina kontakter.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recent-contacts/src/webparts/recentContacts/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"DescriptionFieldLabel\": \"Rehber web parçası yapılandırması\",\n    \"NrOfContactsToShow\": \"Gösterilecek kişi sayısını belirtin\",\n    \"NoContacts\": \"Kişi bulunamadı.\",\n    \"Loading\": \"Kişilerinizi alınıyor\",\n    \"Error\": \"Üzgünüz, kişileriniz bir şeyleri alamadı.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recent-contacts/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": false,\n    \"noUnusedLocals\": false,\n    \"noUnusedParameters\": false,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-recently-used-documents/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-recently-used-documents/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 0,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-recently-used-documents/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-recently-used-documents/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-recently-used-documents/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-recently-used-documents/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-recently-used-documents/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-recently-used-documents\",\n    \"libraryId\": \"9ff0a6e2-52d6-40fe-81a0-1df792f81da0\",\n    \"packageManager\": \"npm\",\n    \"isDomainIsolated\": false,\n    \"skipFeatureDeployment\": true,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-recently-used-documents/README.md",
    "content": "# Recently Used Documents web part\n\nThis web part provides you the ability to display a list of a particular user's recently used documents on a web page. The web part may be configured to display a pre-defined number of documents at a time. This web part is powered by the Microsoft Graph and uses the me/insights/used Graph endpoint, while filtering out document types including: \"Web\", \"spsite\", \"Folder\", \"Archive\", \"Image\", and \"Other\".\n\n![Recently Used Documents](../../assets/images/components/part-recently-used-documents.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Recently Used Documents** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Recently Used Documents` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Recent Documents | title | string | no | The web part title, editable inline with the web part itself |\n| Specify the number of documents to show | nrOfItems | number | no | Default: 3 - The number of documents to show |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nPermissions to Microsoft Graph - scope: \"Sites.Read.All\"\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nsolution/src/webparts/recentlyUsedDocuments | Elio Struyf (@struyf)\nreact-recently-used-documents | Sébastien Levert (@sebastienlevert)\nreact-recently-used-documents | Chandani Prajapati (@Chandani_SPD)\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|March 28, 2018|Initial release\n2.0|December 29, 2019|v2.0\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Using Microsoft Graph from the web parts with queries and filters\n* Using Lists from FluentUI\n* Using Webpack Chunking for bundle management\n* Using PnP Property Controls (number)\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-recently-used-documents\" />\n"
  },
  {
    "path": "source/react-recently-used-documents/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"recently-used-documents-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/recentlyUsedDocuments/RecentlyUsedDocumentsWebPart.js\",\n          \"manifest\": \"./src/webparts/recentlyUsedDocuments/RecentlyUsedDocumentsWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"RecentlyUsedDocumentsWebPartStrings\": \"lib/webparts/recentlyUsedDocuments/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-recently-used-documents/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-recently-used-documents\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-recently-used-documents/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Recently Used Documents\",\n    \"id\": \"9ff0a6e2-52d6-40fe-81a0-1df792f81da0\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-recently-used-documents description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-recently-used-documents description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - Recently Used Documents Webpart Feature\",\n        \"description\": \"The feature that activates Recently Used Documents from the Starter Kit - Recently Used Documents solution.\",\n        \"id\": \"7b36c4ce-93b6-4f4a-8e66-d760a172333c\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"7b36c4ce-93b6-4f4a-8e66-d760a172333c\"\n        ]\n      }\n    ],\n    \"webApiPermissionRequests\": [\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"Sites.Read.All\"\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-recently-used-documents.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-recently-used-documents/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-recently-used-documents/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-recently-used-documents/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-recently-used-documents/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-recently-used-documents/package.json",
    "content": "{\n  \"name\": \"react-recently-used-documents\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"@pnp/spfx-property-controls\": \"3.11.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-recently-used-documents/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/RecentlyUsedDocumentsWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"7b36c4ce-93b6-4f4a-8e66-d760a172333c\",\n  \"alias\": \"RecentlyUsedDocumentsWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n  \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsTab\", \"TeamsPersonalApp\"],\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"RecentlyUsedDocuments\" },\n    \"description\": { \"default\": \"Recently used documents of the user\" },\n    \"officeFabricIconFontName\": \"TextDocumentShared\",\n    \"properties\": {\n      \"description\": \"RecentlyUsedDocuments\"\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/RecentlyUsedDocumentsWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration } from \"@microsoft/sp-property-pane\";\n\nimport * as strings from 'RecentlyUsedDocumentsWebPartStrings';\nimport RecentlyUsedDocuments from './components/RecentlyUsedDocuments';\nimport { IRecentlyUsedDocumentsProps } from './components/IRecentlyUsedDocumentsProps';\nimport { MSGraphClientV3 } from '@microsoft/sp-http';\n\nexport interface IRecentlyUsedDocumentsWebPartProps {\n  title: string;\n  nrOfItems: number;\n}\n\nexport default class RecentlyUsedDocumentsWebPart extends BaseClientSideWebPart<IRecentlyUsedDocumentsWebPartProps> {\n  private graphClient: MSGraphClientV3;\n  private propertyFieldNumber : any;\n\n  public onInit(): Promise<void> {\n    return new Promise<void>((resolve: () => void, reject: (error: any) => void): void => {\n      this.context.msGraphClientFactory\n        .getClient('3')\n        .then((client: MSGraphClientV3): void => {\n          this.graphClient = client;\n          resolve();\n        }, err => reject(err));\n    });\n  }\n\n  public render(): void {\n    const element: React.ReactElement<IRecentlyUsedDocumentsProps> = React.createElement(\n      RecentlyUsedDocuments,\n      {\n        title: this.properties.title,\n        nrOfItems: this.properties.nrOfItems,\n        context: this.context,\n        graphClient: this.graphClient,\n        displayMode: this.displayMode,\n        updateProperty: (value: string) => {\n          this.properties.title = value;\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  //executes only before property pane is loaded.\n  protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n\n    const { PropertyFieldNumber } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-number' */\n      '@pnp/spfx-property-controls/lib/propertyFields/number'\n    );\n\n    this.propertyFieldNumber = PropertyFieldNumber;\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupFields: [\n                this.propertyFieldNumber(\"nrOfItems\", {\n                  key: \"nrOfItems\",\n                  label: strings.NrOfDocumentsToShow,\n                  value: this.properties.nrOfItems,\n                  minValue: 1,\n                  maxValue: 10\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n}"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/components/BrandIcons.ts",
    "content": "/**\n * Icons enum\n */\nexport enum BrandIcons {\n    Word = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/docx.png\",\n    PowerPoint = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/pptx.png\",\n    Excel = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/xlsx.png\",\n    Pdf = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/pdf.png\",\n    OneNote = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/onetoc.png\",\n    OneNotePage = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/one.png\",\n    InfoPath = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/xsn.png\",\n    Visio = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/vsdx.png\",\n    Publisher = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/pub.png\",\n    Project = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/mpp.png\",\n    Access = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/accdb.png\",\n    Mail = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/email.png\",\n    Csv = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/xlsx.png\",\n    Archive = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/zip.png\",\n    Xps = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/genericfile.png\",\n    Audio = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/audio.png\",\n    Video = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/video.png\",\n    Image = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/photo.png\",\n    Text = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/txt.png\",\n    Xml = \"https://spoprod-a.akamaihd.net/files/fabric/assets/item-types/32/xml.png\"\n  }"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/components/IRecentDocuments.ts",
    "content": "import { BrandIcons } from \"./BrandIcons\";\n\n/**\n * Microsoft Graph Insights Interface\n */\nexport interface IRecentDocuments {\n    '@odata.context': string;\n    value: IRecentDocument[];\n  }\n  \n  export interface IRecentDocument {\n    id: string;\n    lastUsed: LastUsed;\n    resourceVisualization: ResourceVisualization;\n    resourceReference: ResourceReference;\n  }\n  \n  export interface ResourceReference {\n    webUrl: string;\n    id: string;\n    type: string;\n  }\n  \n  export interface ResourceVisualization {\n    title: string;\n    type: keyof typeof BrandIcons;\n    mediaType: string;\n    previewImageUrl: string;\n    previewText: string;\n    containerWebUrl: string;\n    containerDisplayName: string;\n    containerType: string;\n  }\n  \n  export interface LastUsed {\n    lastAccessedDateTime: string;\n    lastModifiedDateTime: string;\n  }"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/components/IRecentlyUsedDocumentsProps.ts",
    "content": "import { IRecentlyUsedDocumentsWebPartProps } from '../RecentlyUsedDocumentsWebPart';\nimport { DisplayMode } from '@microsoft/sp-core-library';\nimport { MSGraphClientV3 } from '@microsoft/sp-http';\nimport { WebPartContext } from '@microsoft/sp-webpart-base';\n\nexport interface IRecentlyUsedDocumentsProps extends IRecentlyUsedDocumentsWebPartProps {\n  context: WebPartContext;\n  displayMode: DisplayMode;\n  graphClient: MSGraphClientV3;\n  updateProperty: (value: string) => void;\n}"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/components/IRecentlyUsedDocumentsState.ts",
    "content": "export interface IRecentlyUsedDocumentsState {\n    recentDocs: any[];\n    error: string;\n    loading: boolean;\n  }"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/components/RecentlyUsedDocuments.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.recentlyUsedDocuments {\n  .document {\n    margin-bottom: 15px;\n  }\n\n  .documentPreview {\n    min-width: 144px;\n  }\n\n  .documentDetails {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    justify-content: space-between;\n  }\n\n  .noDocs {\n    @include ms-font-m;\n  }\n\n  .error {\n    @include ms-font-m;\n    color: $ms-color-alert;\n  }\n}"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/components/RecentlyUsedDocuments.tsx",
    "content": "import * as React from 'react';\nimport styles from './RecentlyUsedDocuments.module.scss';\nimport { WebPartTitle } from '@pnp/spfx-controls-react/lib/WebPartTitle';\nimport * as strings from 'RecentlyUsedDocumentsWebPartStrings';\nimport { List } from '@fluentui/react/lib/List';\nimport { DocumentCard, DocumentCardActivity, DocumentCardPreview, DocumentCardTitle, IDocumentCardPreviewProps } from '@fluentui/react/lib/DocumentCard';\nimport { ImageFit } from '@fluentui/react/lib/Image';\nimport { DocumentCardType } from '@fluentui/react/lib/DocumentCard';\nimport { IRecentlyUsedDocumentsProps, IRecentlyUsedDocumentsState, IRecentDocuments, IRecentDocument, BrandIcons } from '.';\nimport { Spinner, SpinnerSize } from '@fluentui/react/lib/Spinner';\n\nexport default class RecentlyUsedDocuments extends React.Component<IRecentlyUsedDocumentsProps, IRecentlyUsedDocumentsState> {\n  private _excludeTypes: string[] = [\"Web\", \"spsite\", \"Folder\", \"Archive\", \"Image\", \"Other\"];\n\n  constructor(props: IRecentlyUsedDocumentsProps) {\n    super(props);\n\n    this.state = {\n      recentDocs: [],\n      error: null,\n      loading: true\n    };\n  }\n\n  /**\n   * Fetch the recent documents via the Microsoft Graph client\n   */\n  private _fetchRecentDocuments() {\n    if (this.props.graphClient) {\n      this.setState({\n        loading: true,\n        error: null\n      });\n\n      const filter = this._excludeTypes.map(type => `resourceVisualization/type ne '${type}'`).join(' and ');\n\n      this.props.graphClient\n      .api(\"me/insights/used\")\n      .filter(`resourceVisualization/containerType eq 'Site' and ${filter}`)\n      .get((err: { message: string; }, res: IRecentDocuments) => {\n        if (err) {\n          // Something failed calling the MS Graph\n          this.setState({\n            error: err.message ? err.message : strings.Error,\n            recentDocs: [],\n            loading: false\n          });\n          return;\n        }\n\n        // Check if a response was retrieved\n        if (res && res.value && res.value.length > 0) {\n          console.log(res.value);\n          this._processRecentDocuments(res.value);\n        } else {\n          // No documents retrieved\n          this.setState({\n            recentDocs: [],\n            loading: false\n          });\n        }\n      });\n    }\n  }\n\n  /**\n   * Processes the retrieved document results from the Microsoft Graph\n   * @param recentWebs\n   */\n  private _processRecentDocuments(recentDocs: IRecentDocument[]): void {\n    // Return the sorted and sliced array\n    this.setState({\n      recentDocs: recentDocs.sort(this._sortByDate).slice(0, this.props.nrOfItems ? this.props.nrOfItems : 10),\n      loading: false\n    });\n  }\n\n  /**\n   * Sort the array by the last accessed date\n   */\n  private _sortByDate = (a: IRecentDocument, b: IRecentDocument): number => {\n    const aDate = new Date(a.lastUsed.lastAccessedDateTime);\n    const bDate = new Date(b.lastUsed.lastAccessedDateTime);\n    return this._getTime(bDate) - this._getTime(aDate);\n  }\n\n  /**\n   * Convert the date to a number\n   * @param date\n   */\n  private _getTime(date?: Date) {\n    return date !== null ? date.getTime() : 0;\n  }\n\n  /**\n   * Renders the list cell\n   */\n  private _onRenderCell = (item: IRecentDocument, index: number | undefined): JSX.Element => {\n    // Create the preview image properties\n    const previewProps: IDocumentCardPreviewProps = {\n      previewImages: [\n        {\n          name: item.resourceVisualization.title,\n          url: item.resourceReference.webUrl,\n          previewImageSrc: item.resourceVisualization.previewImageUrl,\n          iconSrc: BrandIcons[item.resourceVisualization.type],\n          imageFit: ImageFit.cover,\n          width: 318,\n          height: 196\n        }\n      ],\n    };\n\n    // Return a document card for the retrieved item\n    return (\n      <div className={styles.document}>\n        <DocumentCard onClickHref={item.resourceReference.webUrl}\n                      type={DocumentCardType.compact}>\n          <div className={styles.documentPreview}>\n            <DocumentCardPreview  {...previewProps} />\n          </div>\n          <div className={styles.documentDetails}>\n            <DocumentCardTitle title={item.resourceVisualization.title}\n                               shouldTruncate={true} />\n            <DocumentCardActivity activity={`${strings.LastUsedMsg} ${this._relativeDate(item.lastUsed.lastAccessedDateTime)}`}\n                                  people={[{\n                                    name: this.props.context.pageContext.user.displayName,\n                                    profileImageSrc: `/_layouts/15/userphoto.aspx?size=S&username=${this.props.context.pageContext.user.loginName}`\n                                  }]} />\n          </div>\n        </DocumentCard>\n      </div>\n    );\n  }\n\n  /**\n   * Returns the relative date for the document activity\n   */\n  private _relativeDate(crntDate: string): string {\n    const date = new Date(crntDate);\n    const diff = (((new Date()).getTime() - date.getTime()) / 1000);\n    const day_diff = Math.floor(diff / 86400);\n\n    if (isNaN(day_diff) || day_diff < 0) {\n      return;\n    }\n\n    return day_diff === 0 && (\n           diff < 60 && strings.DateJustNow ||\n           diff < 120 && strings.DateMinute ||\n           diff < 3600 && `${Math.floor( diff / 60 )} ${strings.DateMinutesAgo}` ||\n           diff < 7200 && strings.DateHour ||\n           diff < 86400 && `${Math.floor( diff / 3600 )} ${strings.DateHoursAgo}`) ||\n           day_diff == 1 && strings.DateDay ||\n           day_diff <= 30 && `${day_diff} ${strings.DateDaysAgo}` ||\n           day_diff > 30 && `${Math.ceil(day_diff / 7)} ${strings.DateWeeksAgo}`;\n  }\n\n  /**\n   * componentDidMount lifecycle hook\n   */\n  public componentDidMount(): void {\n    this._fetchRecentDocuments();\n  }\n\n  /**\n   * componentDidUpdate lifecycle hook\n   */\n  public componentDidUpdate(prevProps: IRecentlyUsedDocumentsProps, prevState: IRecentlyUsedDocumentsState): void {\n    if (prevProps.nrOfItems !== this.props.nrOfItems) {\n      this._fetchRecentDocuments();\n    }\n  }\n\n  /**\n   * Default React render method\n   */\n  public render(): React.ReactElement<IRecentlyUsedDocumentsProps> {\n    return (\n      <div className={styles.recentlyUsedDocuments}>\n        <WebPartTitle displayMode={this.props.displayMode}\n                      title={this.props.title}\n                      updateProperty={this.props.updateProperty} />\n\n        {\n          this.state.loading && <Spinner label={strings.Loading} size={SpinnerSize.large} />\n        }\n\n        {\n          this.state.recentDocs && this.state.recentDocs.length > 0 ? (\n            <List items={this.state.recentDocs}\n                  renderedWindowsAhead={4}\n                  onRenderCell={this._onRenderCell} />\n          ) : (\n            !this.state.loading && (\n              this.state.error ?\n                <span className={styles.error}>{this.state.error}</span> :\n                <span className={styles.noDocs}>{strings.NoRecentDocuments}</span>\n            )\n          )\n        }\n      </div>\n    );\n  }\n}"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/components/index.ts",
    "content": "export * from './BrandIcons';\nexport * from './IRecentDocuments';\nexport * from './IRecentlyUsedDocumentsProps';\nexport * from './IRecentlyUsedDocumentsState';"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Web Part Konfiguration\",\n    \"NrOfDocumentsToShow\": \"Geben Sie die Anzahl der anzuzeigenden Dokumente an\",\n\n    \"NoRecentDocuments\": \"Keine Dokumente gefunden.\",\n    \"LastUsedMsg\": \"Zuletzt zugegriffen:\",\n    \"Loading\": \"Rufe zuletzt genutzte Dokumente auf\",\n    \"Error\": \"Ein Fehler beim Aufrufen Ihrer zuletzt genutzte Dokumente ist aufgetreten.\",\n\n    \"DateJustNow\": \"Soeben\",\n    \"DateMinute\": \"1 Minute zuvor\",\n    \"DateMinutesAgo\": \"Minuten zuvor\",\n    \"DateHour\": \"1 Stunde zuvor\",\n    \"DateHoursAgo\": \"Stunden zuvor\",\n    \"DateDay\": \"Gestern\",\n    \"DateDaysAgo\": \"Tage zuvor\",\n    \"DateWeeksAgo\": \"Wochen zuvor\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Web part configuration\",\n    \"NrOfDocumentsToShow\": \"Specify the number of documents to show\",\n\n    \"NoRecentDocuments\": \"We did not find any documents.\",\n    \"LastUsedMsg\": \"Last accessed:\",\n    \"Loading\": \"Retrieving your recently used documents\",\n    \"Error\": \"Sorry, something failed when retrieving your recently used documents.\",\n\n    \"DateJustNow\": \"just now\",\n    \"DateMinute\": \"1 minute ago\",\n    \"DateMinutesAgo\": \"minutes ago\",\n    \"DateHour\": \"1 hour ago\",\n    \"DateHoursAgo\": \"hours ago\",\n    \"DateDay\": \"yesterday\",\n    \"DateDaysAgo\": \"days ago\",\n    \"DateWeeksAgo\": \"weeks ago\"\n  }\n});"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Configuracion del elemento web\",\n    \"NrOfDocumentsToShow\": \"Especifique el numero de documentos a mostrar\",\n\n    \"NoRecentDocuments\": \"No encontramos documentos.\",\n    \"LastUsedMsg\": \"Accesados ultimamente:\",\n    \"Loading\": \"Obteniendo sus documentos recientes\",\n    \"Error\": \"Lo sentimos, algo salio mal mientras ibteniamos sus documentos recientes.\",\n\n    \"DateJustNow\": \"justo ahoraw\",\n    \"DateMinute\": \"hace 1 minuto\",\n    \"DateMinutesAgo\": \"hace unos minutos\",\n    \"DateHour\": \"hace 1 hora\",\n    \"DateHoursAgo\": \"hace unas horas\",\n    \"DateDay\": \"ayer\",\n    \"DateDaysAgo\": \"hace unos dias\",\n    \"DateWeeksAgo\": \"hace unas semanas\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Configuration de la partie Web\",\n    \"NrOfDocumentsToShow\": \"Spécifiez le nombre de documents à afficher\",\n\n    \"NoRecentDocuments\": \"Nous n'avons trouvé aucun document.\",\n    \"LastUsedMsg\": \"Dernier accès:\",\n    \"Loading\": \"Récupération de vos documents récemment utilisés\",\n    \"Error\": \"Désolé, une erreur s'est produite lors de la récupération des documents récemment utilisés.\",\n\n    \"DateJustNow\": \"juste maintenant\",\n    \"DateMinute\": \"il y a 1 minutes\",\n    \"DateMinutesAgo\": \"il y a quelques minutes\",\n    \"DateHour\": \"il y a une heure\",\n    \"DateHoursAgo\": \"il y a quelques heures\",\n    \"DateDay\": \"hier\",\n    \"DateDaysAgo\": \"il y a quelques jours\",\n    \"DateWeeksAgo\": \"il y a quelques semaines\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/loc/mystrings.d.ts",
    "content": "declare interface IRecentlyUsedDocumentsWebPartStrings {\n  PropertyPaneDescription: string;\n  NrOfDocumentsToShow: string;\n\n  // Web part\n  NoRecentDocuments: string;\n  LastUsedMsg: string;\n  Loading: string;\n  Error: string;\n\n  // Relative date strings\n  DateJustNow: string;\n  DateMinute: string;\n  DateMinutesAgo: string;\n  DateHour: string;\n  DateHoursAgo: string;\n  DateDay: string;\n  DateDaysAgo: string;\n  DateWeeksAgo: string;\n}\n\ndeclare module 'RecentlyUsedDocumentsWebPartStrings' {\n  const strings: IRecentlyUsedDocumentsWebPartStrings;\n  export = strings;\n}"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Webdel konfigurasjon\",\n    \"NrOfDocumentsToShow\": \"Angi hvor mange dokument som skal vises\",\n\n    \"NoRecentDocuments\": \"Vi fant ingen dokumenter.\",\n    \"LastUsedMsg\": \"Sist brukt:\",\n    \"Loading\": \"Henter dine sist brukte dokumenter\",\n    \"Error\": \"En feil oppstod ved henting av dine sist brukte dokumenter.\",\n\n    \"DateJustNow\": \"akkurat nå\",\n    \"DateMinute\": \"1 minutt siden\",\n    \"DateMinutesAgo\": \"minutter siden\",\n    \"DateHour\": \"1 time siden\",\n    \"DateHoursAgo\": \"timer siden\",\n    \"DateDay\": \"igår\",\n    \"DateDaysAgo\": \"dager siden\",\n    \"DateWeeksAgo\": \"uker siden\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"PropertyPaneDescription\": \"Webpart configuratie\",\n      \"NrOfDocumentsToShow\": \"Specificeer het aantal documenten die getoond moeten worden\",\n  \n      \"NoRecentDocuments\": \"We hebben geen documenten gevonden.\",\n      \"LastUsedMsg\": \"Laatst gebruikt:\",\n      \"Loading\": \"Laatst gebruikte documenten aan het ophalen\",\n      \"Error\": \"Sorry, er is iets fout gegaan bij het ophalen van de laatst gebruikte documenten.\",\n  \n      \"DateJustNow\": \"zo net\",\n      \"DateMinute\": \"1 minuut geleden\",\n      \"DateMinutesAgo\": \"minuten geleden\",\n      \"DateHour\": \"1 uur geleden\",\n      \"DateHoursAgo\": \"uren geleden\",\n      \"DateDay\": \"gisteren\",\n      \"DateDaysAgo\": \"dagen geleden\",\n      \"DateWeeksAgo\": \"weken geleden\"\n    }\n  });\n  \n"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Webbdelskonfiguration\",\n    \"NrOfDocumentsToShow\": \"Ange antal dokument som skall visas\",\n\n    \"NoRecentDocuments\": \"Vi hittade inga dokument.\",\n    \"LastUsedMsg\": \"Senast använda:\",\n    \"Loading\": \"Hämtar dina nyligen använda dokument\",\n    \"Error\": \"Tyvärr, något gick fel när dina nyligen använda dokument skulle hämtas.\",\n\n    \"DateJustNow\": \"precis nu\",\n    \"DateMinute\": \"1 minut sedan\",\n    \"DateMinutesAgo\": \"minuter sedan\",\n    \"DateHour\": \"1 timme sedan\",\n    \"DateHoursAgo\": \"timmar sedan\",\n    \"DateDay\": \"igår\",\n    \"DateDaysAgo\": \"dagar sedan\",\n    \"DateWeeksAgo\": \"veckor sedan\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-used-documents/src/webparts/recentlyUsedDocuments/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Web bölümü yapılandırması\",\n    \"NrOfDocumentsToShow\": \"Gösterilecek belge sayısını belirtin\",\n\n    \"NoRecentDocuments\": \"Herhangi bir doküman bulamadık.\",\n    \"LastUsedMsg\": \"Son Erişim:\",\n    \"Loading\": \"En son kullanılan belgenizi alınıyor\",\n    \"Error\": \"Maalesef, en son kullanılan belgelerinizi alırken bir şeyler başarısız oldu.\",\n\n    \"DateJustNow\": \"Şu anda\",\n    \"DateMinute\": \"1 dakika önce\",\n    \"DateMinutesAgo\": \"dakika önce\",\n    \"DateHour\": \"1 saat önce\",\n    \"DateHoursAgo\": \"saat önce\",\n    \"DateDay\": \"dün\",\n    \"DateDaysAgo\": \"gün önce\",\n    \"DateWeeksAgo\": \"hafta önce\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-used-documents/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}"
  },
  {
    "path": "source/react-recently-visited-sites/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-recently-visited-sites/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          0,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0,\n        // ====================================================================\n        // no-useless-escape\n        // ====================================================================\n        'no-useless-escape': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-recently-visited-sites/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n\n# Package Lock file\npackage-lock.json\n\n"
  },
  {
    "path": "source/react-recently-visited-sites/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-recently-visited-sites/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-recently-visited-sites/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-recently-visited-sites/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-recently-visited-sites\",\n    \"libraryId\": \"d8d9d358-fbb2-4e77-a66d-69f24e508bfa\",\n    \"packageManager\": \"npm\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-recently-visited-sites/README.md",
    "content": "# Recently Visited Sites web part\n\nThis web part provides you the ability to display a list of a particular user's recently visited sites on a web page. The web part will display up to the first 30 (thirty) recently visited sites at a time. This web part is powered by the Microsoft Graph and uses the **v1.0/me/insights/used** endpoint.\n\n![Recently Visited Sites](../../assets/images/components/part-recently-visited-sites.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Recently Visited Sites** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Recently Visited Sites` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Recent Sites | title | string | no | The web part title, editable inline with the web part itself |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nnone\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nsolution/src/webparts/recentContacts | Elio Struyf (@estruyf)\nsolution/src/webparts/recentContacts | Waldek Mastykarz (@waldekm)\nsolution/src/webparts/recentContacts | Simon Agren (@agrenpoint)\nsolution/src/webparts/recentContacts | Jérémy Crestel (@j_crestel)\nsolution/src/webparts/recentContacts | Daniel Laskewitz (@laskewitz)\nsolution/src/webparts/recentContacts | Jakob Nøtseth (@net_freak)\nsolution/src/webparts/recentContacts | Mikael Svenson (@mikaelsvenson)\nsolution/src/webparts/recentContacts | Özgür Ersoy (@moersoy)\nsolution/src/webparts/recentContacts | Guido Zambarda\nsource/react-recent-contacts | Yannick Reekmans (@yannickreekmans)\nreact-recently-visited-sites | Chandani Prajapati (@Chandani_SPD)\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|April 7, 2018|Initial release\n2.0|December 4, 2019|v2.0\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n> Include any additional steps as needed.\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Using Microsoft Graph from the web parts using msGraphClientFactory\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-recently-visited-sites\" />\n"
  },
  {
    "path": "source/react-recently-visited-sites/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"recently-visited-sites-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/recentlyVisitedSites/RecentlyVisitedSitesWebPart.js\",\n          \"manifest\": \"./src/webparts/recentlyVisitedSites/RecentlyVisitedSitesWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"RecentlyVisitedSitesWebPartStrings\": \"lib/webparts/recentlyVisitedSites/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-recently-visited-sites/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-recently-visited-sites\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-recently-visited-sites/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Recently Visited Sites\",\n    \"id\": \"d8d9d358-fbb2-4e77-a66d-69f24e508bfa\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-recently-visited-sites description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-recently-visited-sites description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - Recently Visited Sites WebPart Feature\",\n        \"description\": \"The feature that activates Recently Visited Sites Webpart from the Starter Kit - Recently Visited Sites solution.\",\n        \"id\": \"49089f35-4213-425b-a5c0-706b25803484\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"49089f35-4213-425b-a5c0-706b25803484\"\n        ]\n      }\n    ],\n    \"webApiPermissionRequests\": [\n      {\n        \"resource\": \"Microsoft Graph\",\n        \"scope\": \"Sites.Read.All\"\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-recently-visited-sites.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-recently-visited-sites/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-recently-visited-sites/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-recently-visited-sites/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-recently-visited-sites/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-recently-visited-sites/package.json",
    "content": "{\n  \"name\": \"react-recently-visited-sites\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/RecentlyVisitedSitesWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"49089f35-4213-425b-a5c0-706b25803484\",\n  \"alias\": \"RecentlyVisitedSitesWebPart\",\n  \"componentType\": \"WebPart\",\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n  \"requiresCustomScript\": false,\n  \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsTab\", \"TeamsPersonalApp\"],\n  \"supportsThemeVariants\": true,\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\",\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"Recently visited sites\" },\n    \"description\": { \"default\": \"Recently visited sites for user\" },\n    \"officeFabricIconFontName\": \"FavoriteList\",\n    \"properties\": {\n      \"title\": \"Recent sites\"\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/RecentlyVisitedSitesWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration } from \"@microsoft/sp-property-pane\";\nimport { RecentlyVisitedSites, IRecentlyVisitedSitesProps } from './components';\nimport { MSGraphClientV3 } from '@microsoft/sp-http';\n\nimport { ThemeProvider, ThemeChangedEventArgs, IReadonlyTheme } from '@microsoft/sp-component-base';\n\nexport interface IRecentlyVisitedSitesWebPartProps {\n  title: string;\n}\n\nexport default class RecentlyVisitedSitesWebPart extends BaseClientSideWebPart<IRecentlyVisitedSitesWebPartProps> {\n  private graphClient: MSGraphClientV3;\n  // theme provider\n  private _themeProvider: ThemeProvider;\n  // current theme\n  private _themeVariant: IReadonlyTheme | undefined;\n\n  public onInit(): Promise<void> {\n    // Consume the new ThemeProvider service\n    this._themeProvider = this.context.serviceScope.consume(ThemeProvider.serviceKey);\n\n    // If it exists, get the theme variant\n    this._themeVariant = this._themeProvider.tryGetTheme();\n\n    // Register a handler to be notified if the theme variant changes\n    this._themeProvider.themeChangedEvent.add(this, this._handleThemeChangedEvent);\n\n    return new Promise<void>((resolve: () => void, reject: (error: any) => void): void => {\n      this.context.msGraphClientFactory\n        .getClient('3')\n        .then((client: MSGraphClientV3): void => {\n          this.graphClient = client;\n          resolve();\n        }, err => reject(err));\n    });\n  }\n\n  public render(): void {\n    const element: React.ReactElement<IRecentlyVisitedSitesProps> = React.createElement(\n      RecentlyVisitedSites,\n      {\n        title: this.properties.title,\n        graphClient: this.graphClient,\n        displayMode: this.displayMode,\n        themeVariant: this._themeVariant,\n        updateProperty: (value: string) => {\n          this.properties.title = value;\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: []\n    };\n  }\n\n  protected _handleThemeChangedEvent = (args: ThemeChangedEventArgs): void => {\n    this._themeVariant = args.theme;\n    this.render();\n  }\n}"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/components/IRecentWebs.ts",
    "content": "/**\n * Microsoft Graph Insights Interface\n */\nexport interface IRecentWebs {\n  '@odata.context': string;\n  value: IRecentWeb[];\n}\n\nexport interface IRecentWeb {\n  id: string;\n  lastUsed: LastUsed;\n  resourceVisualization: ResourceVisualization;\n  resourceReference: ResourceReference;\n}\n\nexport interface ResourceReference {\n}\n\nexport interface ResourceVisualization {\n  title: string;\n  type: string;\n  mediaType: string;\n  previewImageUrl: string;\n  previewText: string;\n  containerWebUrl: string;\n  containerDisplayName: string;\n}\n\nexport interface LastUsed {\n  lastAccessedDateTime: string;\n  lastModifiedDateTime: string;\n}\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/components/IRecentlyVisitedSitesProps.ts",
    "content": "import { IRecentlyVisitedSitesWebPartProps } from '../RecentlyVisitedSitesWebPart';\nimport { DisplayMode } from '@microsoft/sp-core-library';\nimport { MSGraphClientV3 } from '@microsoft/sp-http';\nimport { IReadonlyTheme } from '@microsoft/sp-component-base';\n\nexport interface IRecentlyVisitedSitesProps extends IRecentlyVisitedSitesWebPartProps {\n  displayMode: DisplayMode;\n  graphClient: MSGraphClientV3;\n  themeVariant: IReadonlyTheme | undefined;\n  updateProperty: (value: string) => void;\n\n}\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/components/IRecentlyVisitedSitesState.ts",
    "content": "import { IWebs } from \".\";\n\nexport interface IRecentlyVisitedSitesState {\n  usedSites: IWebs[];\n  error: string;\n  loading: boolean;\n}\n\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/components/IWebs.ts",
    "content": "export interface IWebs {\n  id: string;\n  title: string;\n  path: string;\n}\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/components/RecentlyVisitedSites.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.recentlyVisitedSites {\n  .list {\n    @include ms-Grid-row;\n\n    ul {\n      list-style: none;\n      margin: 0;\n      padding: 0;\n    }\n  }\n\n  .site {\n    @include ms-Grid-col;\n    @include ms-sm12;\n\n    a {\n      display: block;\n      padding: 5px 12px;\n\n      &:hover {\n        background-color: \"[theme: neutralTertiary, default: #FFF]\";\n      }\n    }\n  }\n\n  .noSites {\n    @include ms-font-m;\n  }\n\n  .error {\n    @include ms-font-m;\n    color: $ms-color-alert;\n  }\n}\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/components/RecentlyVisitedSites.tsx",
    "content": "import * as React from 'react';\nimport styles from './RecentlyVisitedSites.module.scss';\nimport { WebPartTitle } from \"@pnp/spfx-controls-react/lib/WebPartTitle\";\nimport { uniqBy } from '@microsoft/sp-lodash-subset';\nimport * as strings from 'RecentlyVisitedSitesWebPartStrings';\nimport { Link } from '@fluentui/react/lib/Link';\nimport { IRecentlyVisitedSitesProps, IRecentlyVisitedSitesState, IRecentWebs, IRecentWeb, IWebs } from '.';\nimport { Spinner, SpinnerSize } from '@fluentui/react/lib/Spinner';\n\nexport class RecentlyVisitedSites extends React.Component<IRecentlyVisitedSitesProps, IRecentlyVisitedSitesState> {\n  /**\n   * Constructor\n   * @param props\n   */\n  constructor(props: IRecentlyVisitedSitesProps) {\n    super(props);\n\n    this.state = {\n      usedSites: [],\n      error: null,\n      loading: true\n    };\n  }\n\n  /**\n   * Fetch the recent sites via the Microsoft Graph client\n   */\n  private _fetchRecentSites() {\n    if (this.props.graphClient) {\n      this.setState({\n        loading: true\n      });\n      // Calling: v1.0/me/insights/used?$filter=ResourceVisualization/Type eq 'Web'\n      this.props.graphClient\n      .api(\"me/insights/used\")\n      .filter(`ResourceVisualization/Type eq 'Web'`)\n      .top(30)\n      .get((err: { message: string; }, res: IRecentWebs) => {\n        if (err) {\n          // Something failed calling the MS Graph\n          this.setState({\n            error: err.message ? err.message : strings.Error,\n            usedSites: [],\n            loading: false\n          });\n          return;\n        }\n\n        // Check if a response was retrieved\n        if (res && res.value && res.value.length > 0) {\n          this._processRecentSites(res.value);\n        } else {\n          // No sites retrieved\n          this.setState({\n            loading: false,\n            usedSites: []\n          });\n        }\n      });\n    }\n  }\n\n  /**\n   * Processes the retrieved web results from the Microsoft Graph\n   * @param recentWebs\n   */\n  private _processRecentSites(recentWebs: IRecentWeb[]): void {\n    // Map the MS Graph result\n    const rWebs: IWebs[] = recentWebs.map(w => {\n      return {\n        id: w.id,\n        title: w.resourceVisualization.containerDisplayName,\n        path: this._updateSitePath(w.resourceVisualization.containerWebUrl)\n      };\n    });\n\n    // Only retrieve the unique sites\n    const uWeb = uniqBy(rWebs, 'path');\n\n    // Get the latest 10 results\n    this.setState({\n      usedSites: uWeb.slice(0, 10),\n      loading: false\n    });\n  }\n\n  /**\n   * Parse the retrieve URLs to return the site collection URLs\n   * @param path\n   */\n  private _updateSitePath(path: string): string {\n    if (path) {\n      // Split the site on the sites path\n      const pathSplit = path.split(\"/sites/\");\n      if (pathSplit.length === 2) {\n        const siteUrlPath = pathSplit[1].substring(0, pathSplit[1].indexOf(\"/\"));\n        // Concatinate the URL\n        return `${pathSplit[0]}/sites/${siteUrlPath}`;\n      } else {\n        // Return the root site\n        const matches = path.match(/^https?\\:\\/\\/([^\\/?#]+)(?:[\\/?#]|$)/i);\n        if (matches && matches.length > 0) {\n          return matches[0];\n        }\n      }\n    }\n    return path;\n  }\n\n  /**\n   * componentDidMount lifecycle hook\n   */\n  public componentDidMount(): void {\n    this._fetchRecentSites();\n  }\n\n  /**\n   * Default React render method\n   */\n  public render(): React.ReactElement<IRecentlyVisitedSitesProps> {\n   \n    //\n    // supporting different themes for page's section\n    //\n    const color: string | null = (!!this.props.themeVariant && this.props.themeVariant.semanticColors.bodyText) || null;\n    const backgroundColor: string | null = (!!this.props.themeVariant && this.props.themeVariant.semanticColors.bodyBackground) || null;\n\n    return (\n      <div className={ styles.recentlyVisitedSites }>\n        <WebPartTitle displayMode={this.props.displayMode}\n                      title={this.props.title}\n                      updateProperty={this.props.updateProperty}\n                      themeVariant={this.props.themeVariant} />\n\n        {\n          this.state.loading && <Spinner label={strings.Loading} size={SpinnerSize.large} />\n        }\n\n        {\n          this.state.usedSites && this.state.usedSites.length > 0 ? (\n            <div className={styles.list} style={{backgroundColor:backgroundColor}}>\n              <ul>\n                {\n                  this.state.usedSites.map(site => (\n                    <li key={site.id} className={styles.site} style={{background:backgroundColor}}>\n                      <Link href={site.path} title={site.title} style={{color:color}}>{site.title}</Link>\n                    </li>\n                  ))\n                }\n              </ul>\n            </div>\n          ) : (\n            !this.state.loading && (\n              this.state.error ?\n                <span className={styles.error}>{this.state.error}</span> :\n                <span className={styles.noSites}>{strings.NoRecentSitesMsg}</span>\n            )\n          )\n        }\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/components/index.ts",
    "content": "export * from './IRecentlyVisitedSitesProps';\nexport * from './IRecentlyVisitedSitesState';\nexport * from './IRecentWebs';\nexport * from './IWebs';\nexport * from './RecentlyVisitedSites';\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"NoRecentSitesMsg\": \"Keine kürzlich genutzten Seiten gefunden.\",\n    \"Loading\": \"Rufe kürzlich genutzte Seiten auf.\",\n    \"Error\": \"Ein Fehler beim Aufrufen Ihrer kürzlich genutzte Seiten ist aufgetreten.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"NoRecentSitesMsg\": \"We did not find any recently used sites.\",\n    \"Loading\": \"Retrieving your recently used sites.\",\n    \"Error\": \"Sorry, something failed while retrieving your recently used sites.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"NoRecentSitesMsg\": \"No encontramos sitios utilizados recientemente.\",\n    \"Loading\": \"Obteniendo los sitios utilizados recientemente.\",\n    \"Error\": \"Lo sentimos, algo fallo cuando obteniamos sus sitios recientemente utilizados.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"NoRecentSitesMsg\": \"Nous n'avons trouvé aucun site récemment utilisé.\",\n    \"Loading\": \"Récupération de vos sites récemment utilisés.\",\n    \"Error\": \"Désolé, quelque chose a échoué lors de la récupération des sites récemment utilisés.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/loc/mystrings.d.ts",
    "content": "declare interface IRecentlyVisitedSitesWebPartStrings {\n  // Web part\n  NoRecentSitesMsg: string;\n  Loading: string;\n  Error: string;\n}\n\ndeclare module 'RecentlyVisitedSitesWebPartStrings' {\n  const strings: IRecentlyVisitedSitesWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"NoRecentSitesMsg\": \"Vi fant ingen sist besøkte områder.\",\n    \"Loading\": \"Henter dine sist besøkte områder.\",\n    \"Error\": \"Noe gikk galt ved henting av dine sist besøkte områder.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"NoRecentSitesMsg\": \"We hebben geen recent gebruikte sites gevonden.\",\n      \"Loading\": \"Recent gebruikte sites aan het ophalen.\",\n      \"Error\": \"Sorry, er is iets fout gegaan bij het ophalen van je recent gebruikte sites.\"\n    }\n  });\n  \n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"NoRecentSitesMsg\": \"Vi hittade inte några nyligen använda webbplatser.\",\n    \"Loading\": \"Hämtar dina nyligen använda webbplatser.\",\n    \"Error\": \"Tyvärr, något misslyckades när dina nyligen använda webbplatser skulle hämtas.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-visited-sites/src/webparts/recentlyVisitedSites/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"NoRecentSitesMsg\": \"Son zamanlarda kullanılan siteleri bulamadık.\",\n    \"Loading\": \"Son kullandığınız siteleri alınıyor.\",\n    \"Error\": \"Maalesef, son kullanılan sitelerinizi alırken bir şey başarısız oldu.\"\n  }\n});\n"
  },
  {
    "path": "source/react-recently-visited-sites/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-site-information/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-site-information/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          1,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 0,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-site-information/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n"
  },
  {
    "path": "source/react-site-information/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-site-information/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-site-information/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-site-information/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"react-site-information\",\n    \"libraryId\": \"09938b42-5d02-4ca4-a040-61914367cf6f\",\n    \"packageManager\": \"npm\",\n    \"componentType\": \"webpart\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false\n  }\n}"
  },
  {
    "path": "source/react-site-information/README.md",
    "content": "# Site Information web part\n\nThis web part provides you the ability to collect and present additional metadata on a web page for group associated team sites. The web part may be configured to display site title, a site contacts powered by a people picker, and a term from the term store, often used to provide classification for the site.\n\nThis web part is intended to be used once within a group associated team site to provide additional metadata. This web part provides an extensability framework in which to customize the web part code base to include additional properties and thus site metadata. Additional method demonstrations include the PnP Property Control people picker and the PnP Property Control term picker.\n\nThe term store must include the term group name, `PnPTermSets`, which incudes a Term Set, `PnP-Organizations`. Terms should be placed within this term set. The term group, term set, and default terms are added by the Starter Kit provisioning process, in particular set within the `./provisioning/terms.xml` provisioning template. You can also create these terms manually, if you independently use this web part without other starter kit capabilities. \n\n![Site Information](../../assets/images/components/part-site-information.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Site Information** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Site Information` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Site Title | siteTitle | string | no | Default: Contoso Portal - the title of the site |\n| Site Contact | siteContact | IPropertyFieldGroupOrPerson[] | no | A site contact based on a people picker |\n| Site Organization | siteOrganization | IPickerTerms | no | The site's organization, based on a taxonomy termset |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nThis solution relies on a term set named **PnP-Organizations** found within the term group **PnPTermSets**. These terms are added by default during a standard provisioning of the [PnP Starter Kit](../../provisioning). If you have not applied the starterkit.pnp package you can find the xml used to provision the terms [here](../templates/starterkit.xml)\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-site-information | Paolo Pialorsi\nreact-site-information | David Warner II\nreact-site-information | Chandani Prajapati\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|April 7, 2018|Initial release\n2.0|December 3, 2019|v2.0\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n## Features\n\nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* PnP Property Controls - @pnp/spfx-property-controls: Term picker and People picker\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-site-information\" />\n"
  },
  {
    "path": "source/react-site-information/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"site-information-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/siteInformation/SiteInformationWebPart.js\",\n          \"manifest\": \"./src/webparts/siteInformation/SiteInformationWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"SiteInformationWebPartStrings\": \"lib/webparts/siteInformation/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-site-information/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-site-information\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-site-information/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Site Information\",\n    \"id\": \"09938b42-5d02-4ca4-a040-61914367cf6f\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-site-information description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-site-information description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - Site Information WebPart Feature\",\n        \"description\": \"The feature that activates Site Information WebPart from the Starter Kit - Site Information solution.\",\n        \"id\": \"f91c48b4-3ffd-4446-8577-375b07a62c9f\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"f91c48b4-3ffd-4446-8577-375b07a62c9f\"\n        ]\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-site-information.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-site-information/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-site-information/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-site-information/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-site-information/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-site-information/package.json",
    "content": "{\n  \"name\": \"react-site-information\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/sp\": \"3.11.0\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"@pnp/spfx-property-controls\": \"3.11.0\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-site-information/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/ISiteInformationWebPartProps.ts",
    "content": "import { IPropertyFieldGroupOrPerson } from '@pnp/spfx-property-controls/lib/PropertyFieldPeoplePicker';\nimport { IPickerTerms } from '@pnp/spfx-property-controls/lib/PropertyFieldTermPicker';\n\nexport interface ISiteInformationWebPartProps {\n    // used to represent the site's title\n    siteTitle: string;\n    // used to represent the site's contact\n    siteContact: IPropertyFieldGroupOrPerson[];\n    // used to represent the site's organization, based on a taxonomy termset\n    siteOrganization: IPickerTerms;\n}\n"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/SiteInformationWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"f91c48b4-3ffd-4446-8577-375b07a62c9f\",\n  \"alias\": \"SiteInformationWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n  \"supportedHosts\": [\"SharePointWebPart\", \"SharePointFullPage\", \"TeamsTab\", \"TeamsPersonalApp\"],\n\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"Site Information\" },\n    \"description\": { \"default\": \"Metadata around the site\" },\n    \"officeFabricIconFontName\": \"BulletedList\",\n    \"properties\": {\n      \"description\": \"Site Information\"\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/SiteInformationWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart, IWebPartPropertiesMetadata } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration, PropertyPaneTextField } from \"@microsoft/sp-property-pane\";\nimport { DisplayMode } from '@microsoft/sp-core-library';\n\nimport * as strings from 'SiteInformationWebPartStrings';\nimport SiteInformation from './components/SiteInformation';\nimport { ISiteInformationProps } from './components/ISiteInformationProps';\nimport { ISiteInformationWebPartProps } from './ISiteInformationWebPartProps';\nimport \"@pnp/sp/webs\";\nexport default class SiteInformationWebPart extends BaseClientSideWebPart<ISiteInformationWebPartProps> {\n\n  private propertyFieldTermPicker : any;\n  private propertyFieldPeoplePicker : any;\n  private principalType: any;\n\n  public onInit(): Promise<void> {\n\n    return super.onInit().then(async (_) => {\n      // chunk shared by all web parts\n      const { spfi, SPFx  } = await import(\n        /* webpackChunkName: 'pnp-sp' */\n        '@pnp/sp');\n\n      await super.onInit();\n\n      // initialize the PnP JS library\n      const sp = spfi().using(SPFx(this.context));\n      \n      // initialize the Site Title property reading the current site title via PnP JS\n      if (!this.properties.siteTitle) {\n        sp.web.select('Title')().then((r) => {\n          this.properties.siteTitle = r.Title;\n        });\n      }\n    });\n  }\n\n  protected get propertiesMetadata(): IWebPartPropertiesMetadata {\n    // makes the properties of the web part searchable with the SPO search engine\n    return {\n      'siteTitle': { isSearchablePlainText: true },\n      'siteContact': { isSearchablePlainText: true },\n      'siteOrganization': { isSearchablePlainText: true }\n    };\n  }\n\n  public render(): void {\n    const element: React.ReactElement<ISiteInformationProps> = React.createElement(\n      SiteInformation,\n      {\n        siteTitle: this.properties.siteTitle,\n        siteContactLogin: (this.properties.siteContact && this.properties.siteContact.length > 0) ?\n          this.properties.siteContact[0].login : '',\n        siteContactEmail: (this.properties.siteContact && this.properties.siteContact.length > 0) ?\n          this.properties.siteContact[0].email : undefined,\n        siteContactFullName: (this.properties.siteContact && this.properties.siteContact.length > 0) ?\n          this.properties.siteContact[0].fullName : undefined,\n        siteContactImageUrl: (this.properties.siteContact && this.properties.siteContact.length > 0) ?\n          this.properties.siteContact[0].imageUrl : undefined,\n        siteOrganization: (this.properties.siteOrganization && this.properties.siteOrganization.length > 0) ?\n          this.properties.siteOrganization[0].name : '',\n        needsConfiguration: this.needsConfiguration(),\n        configureHandler: () => {\n          this.context.propertyPane.open();\n        },\n        errorHandler: (errorMessage: string) => {\n          if (this.displayMode === DisplayMode.Edit) {\n            this.context.statusRenderer.renderError(this.domElement, errorMessage);\n          } else {\n            // nothing to do, if we are not in edit Mode\n          }\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  // executes only before property pane is loaded.\n  protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n\n    const { PropertyFieldTermPicker } = await import (\n      /* webpackChunkName: 'pnp-propcontrols-termpicker' */\n      '@pnp/spfx-property-controls/lib/PropertyFieldTermPicker'\n    );\n    const { PropertyFieldPeoplePicker, PrincipalType } = await import (\n      /* webpackChunkName: 'pnp-propcontrols-peoplepicker' */\n      '@pnp/spfx-property-controls/lib/PropertyFieldPeoplePicker'\n    );\n\n    this.propertyFieldTermPicker = PropertyFieldTermPicker;\n    this.propertyFieldPeoplePicker = PropertyFieldPeoplePicker;\n    this.principalType = PrincipalType;\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupName: strings.BasicGroupName,\n              groupFields: [\n                PropertyPaneTextField('siteTitle', {\n                  label: strings.SiteTitleFieldLabel\n                }),\n                this.propertyFieldPeoplePicker('siteContact', {\n                  label: strings.SiteContactFieldLabel,\n                  initialData: this.properties.siteContact,\n                  allowDuplicate: false,\n                  multiSelect: false,\n                  principalType: [this.principalType.Users],\n                  onPropertyChange: this.onPropertyPaneFieldChanged,\n                  context: this.context,\n                  properties: this.properties,\n                  onGetErrorMessage: undefined,\n                  deferredValidationTime: 0,\n                  key: 'siteContactId'\n                }),\n                this.propertyFieldTermPicker('siteOrganization', {\n                  label: strings.SiteOrganizationFieldLabel,\n                  panelTitle: strings.SiteOrganizationPanelTitle,\n                  initialValues: this.properties.siteOrganization,\n                  allowMultipleSelections: false,\n                  excludeSystemGroup: true,\n                  onPropertyChange: this.onPropertyPaneFieldChanged,\n                  properties: this.properties,\n                  context: this.context,\n                  onGetErrorMessage: undefined,\n                  deferredValidationTime: 0,\n                  limitByGroupNameOrID: 'PnPTermSets',\n                  limitByTermsetNameOrID: 'PnP-Organizations',\n                  key: 'siteOrganizationId'\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n\n  // method to refresh any error after properties configuration\n  protected onAfterPropertyPaneChangesApplied(): void {\n    this.context.statusRenderer.clearError(this.domElement);\n  }\n\n  // method to determine if the web part has to be configured\n  private needsConfiguration(): boolean {\n    // as long as we don't have the stock symbol, we need configuration\n    return ((!this.properties.siteTitle ||\n      this.properties.siteTitle.length === 0) ||\n      (!this.properties.siteContact) ||\n      (!this.properties.siteOrganization));\n  }\n}\n"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/components/ISiteInformationProps.ts",
    "content": "export interface ISiteInformationProps {\n  // used to represent the site's title\n  siteTitle: string;\n  // used to represent the site's contact login name\n  siteContactLogin: string;\n  // used to represent the site's contact email\n  siteContactEmail?: string;\n  // used to represent the site's contact fullname\n  siteContactFullName?: string;\n  // used to represent the site's contact image URL\n  siteContactImageUrl?: string;\n  // used to represent the site's organization, based on a taxonomy termset\n  siteOrganization: {};\n  // used to declare if the web part still needs to be configured\n  needsConfiguration: boolean;\n  // handler to process the request to configure the web part\n  configureHandler: () => void;\n  // handler to process any exception\n  errorHandler: (errorMessage: string) => void;\n}\n"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/components/SiteInformation.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.siteInformation {\n\n  .siteInformationContent {\n    text-align: left;\n  }\n\n  .siteTitle {\n    @include ms-font-xl;\n    color: $ms-color-black;\n    font-weight: bold;\n  }\n\n  .siteOrganization {\n    @include ms-font-l;\n    color: $ms-color-black;\n  }\n\n  .siteContact {\n    @include ms-font-l;\n    color: $ms-color-black;\n    margin-top: 5px;\n  }\n}"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/components/SiteInformation.tsx",
    "content": "import * as React from 'react';\nimport styles from './SiteInformation.module.scss';\nimport { ISiteInformationProps } from './ISiteInformationProps';\n\n// import strings from localized resources\nimport * as strings from 'SiteInformationWebPartStrings';\n\n// import additional controls/components\nimport { Placeholder } from '@pnp/spfx-controls-react/lib/Placeholder';\n\nimport {\n  Persona,\n  PersonaSize,\n  PersonaPresence\n} from '@fluentui/react/lib/Persona';\n\nexport default class SiteInformation extends React.Component<ISiteInformationProps, {}> {\n\n  constructor(props: ISiteInformationProps) {\n    super(props);\n  }\n\n  public render(): React.ReactElement<ISiteInformationProps> {\n\n    // show the Placeholder control, if we are missing the configuration, otherwise show the real content\n    return (\n      <div className={styles.siteInformation}>\n        {(this.props.needsConfiguration\n          || !this.props.siteTitle\n          || !this.props.siteContactLogin\n          || !this.props.siteContactEmail\n          || !this.props.siteContactFullName\n          || !this.props.siteOrganization) ?\n          <Placeholder\n            iconName={strings.PlaceholderIconName}\n            iconText={strings.PlaceholderIconText}\n            description={strings.PlaceholderDescription}\n            buttonLabel={strings.PlaceholderButtonLabel}\n            onConfigure={this.props.configureHandler} /> :\n          <div className={styles.siteInformationContent}>\n            <div className={styles.siteTitle}>\n              {this.props.siteTitle}\n            </div>\n            <div className={styles.siteOrganization}>\n              [{this.props.siteOrganization}]\n            </div>\n            <div className={styles.siteContact}>\n              <Persona\n                imageUrl={this.props.siteContactImageUrl}\n                imageInitials={this.getInitials(this.props.siteContactEmail)}\n                primaryText={this.props.siteContactFullName}\n                secondaryText={this.props.siteContactEmail}\n                showSecondaryText={((this.props.siteContactEmail !== null) && (this.props.siteContactEmail.length > 0))}\n                size={ PersonaSize.size24 }\n                presence={ PersonaPresence.none }\n                />\n            </div>\n          </div>\n        }\n      </div>);\n  }\n\n  private getInitials(fullName: string): string {\n    if (!fullName) {\n      return (undefined);\n    }\n\n    const parts: string[] = fullName.split(' ');\n\n    let initials: string = '';\n    parts.forEach(p => {\n      if (p.length > 0) {\n          initials = initials.concat(p.substring(0, 1).toUpperCase());\n      }\n    });\n\n    return (initials);\n  }\n}\n"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Beschreibung\",\n    \"BasicGroupName\": \"Gruppenname\",\n    \"SiteTitleFieldLabel\": \"Seitentitel\",\n    \"SiteContactFieldLabel\": \"Seiten Kontakt\",\n    \"SiteOrganizationFieldLabel\": \"Seiten Organisation\",\n    \"SiteOrganizationPanelTitle\": \"Seiten Organisation\",\n\n    \"PlaceholderIconName\":\"Ändern\",\n    \"PlaceholderIconText\":\"Konfigurieren Sie Ihren Web Part\",\n    \"PlaceholderDescription\":\"Bitte konfigurieren Sie Ihren Web Part.\",\n    \"PlaceholderButtonLabel\":\"Konfiguration\",\n\n    \"SiteTitleCaption\": \"Seiten Title:\",\n    \"SiteContactCaption\": \"Seiten Kontakt:\",\n    \"SiteOrganizationCaption\": \"Seiten Organisation:\"\n  }\n});"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Description\",\n    \"BasicGroupName\": \"Group Name\",\n    \"SiteTitleFieldLabel\": \"Site Title\",\n    \"SiteContactFieldLabel\": \"Site Contact\",\n    \"SiteOrganizationFieldLabel\": \"Site Organization\",\n    \"SiteOrganizationPanelTitle\": \"Site Organization\",\n\n    \"PlaceholderIconName\":\"Edit\",\n    \"PlaceholderIconText\":\"Configure your web part\",\n    \"PlaceholderDescription\":\"Please configure the web part.\",\n    \"PlaceholderButtonLabel\":\"Configure\",\n\n    \"SiteTitleCaption\": \"Site Title:\",\n    \"SiteContactCaption\": \"Site Contact:\",\n    \"SiteOrganizationCaption\": \"Site Organization:\"\n  }\n});"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Descripción\",\n    \"BasicGroupName\": \"Nombre del grupo\",\n    \"SiteTitleFieldLabel\": \"Título del sitio\",\n    \"SiteContactFieldLabel\": \"Contácto del sitio\",\n    \"SiteOrganizationFieldLabel\": \"Organización del sitio\",\n    \"SiteOrganizationPanelTitle\": \"Organización del sitio\",\n\n    \"PlaceholderIconName\":\"Editr\",\n    \"PlaceholderIconText\":\"Configuración delo elemento web\",\n    \"PlaceholderDescription\":\"Favor de configurar el elemento web.\",\n    \"PlaceholderButtonLabel\":\"Configure\",\n\n    \"SiteTitleCaption\": \"Título del sitio:\",\n    \"SiteContactCaption\": \"Contácto del sitio:\",\n    \"SiteOrganizationCaption\": \"Organización del sitio:\"\n  }\n});\n"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Description\",\n    \"BasicGroupName\": \"Nom du groupe\",\n    \"SiteTitleFieldLabel\": \"Titre du site\",\n    \"SiteContactFieldLabel\": \"Contact du site\",\n    \"SiteOrganizationFieldLabel\": \"Organisation du site\",\n    \"SiteOrganizationPanelTitle\": \"Organisation du site\",\n\n    \"PlaceholderIconName\":\"Edit\",\n    \"PlaceholderIconText\":\"Configurer votre partie Web\",\n    \"PlaceholderDescription\":\"Veuillez configurer la partie Web.\",\n    \"PlaceholderButtonLabel\":\"Configurer\",\n\n    \"SiteTitleCaption\": \"Titre du site:\",\n    \"SiteContactCaption\": \"Contact di site:\",\n    \"SiteOrganizationCaption\": \"Organisation du site:\"\n  }\n});"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/loc/mystrings.d.ts",
    "content": "declare interface ISiteInformationWebPartStrings {\n\n  // Property Pane labels and strings\n  PropertyPaneDescription: string;\n  BasicGroupName: string;\n  SiteTitleFieldLabel: string;\n  SiteContactFieldLabel: string;\n  SiteOrganizationFieldLabel: string;\n  SiteOrganizationPanelTitle: string;\n\n  // Placeholder labels and strings\n  PlaceholderIconName: string;\n  PlaceholderIconText: string;\n  PlaceholderDescription: string;\n  PlaceholderButtonLabel: string;\n\n  // UI labels and strings\n  SiteTitleCaption: string;\n  SiteContactCaption: string;\n  SiteOrganizationCaption: string;\n}\n\ndeclare module 'SiteInformationWebPartStrings' {\n  const strings: ISiteInformationWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Beskrivelse\",\n    \"BasicGroupName\": \"Gruppenavn\",\n    \"SiteTitleFieldLabel\": \"Områdetittel\",\n    \"SiteContactFieldLabel\": \"Områdekontakt\",\n    \"SiteOrganizationFieldLabel\": \"Område organisasjon\",\n    \"SiteOrganizationPanelTitle\": \"Område organisasjon\",\n\n    \"PlaceholderIconName\":\"Rediger\",\n    \"PlaceholderIconText\":\"Konfigurer webdel\",\n    \"PlaceholderDescription\":\"Vennligst konfigurer webdelen.\",\n    \"PlaceholderButtonLabel\":\"Konfigurer\",\n\n    \"SiteTitleCaption\": \"Områdetittel:\",\n    \"SiteContactCaption\": \"Områdekontakt:\",\n    \"SiteOrganizationCaption\": \"Område organisasjon:\"\n  }\n});\n"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"PropertyPaneDescription\": \"Omschrijving\",\n      \"BasicGroupName\": \"Groepsnaam\",\n      \"SiteTitleFieldLabel\": \"Site Titel\",\n      \"SiteContactFieldLabel\": \"Site Contactpersoon\",\n      \"SiteOrganizationFieldLabel\": \"Site Organisatie\",\n      \"SiteOrganizationPanelTitle\": \"Site Organisatie\",\n  \n      \"PlaceholderIconName\":\"Bewerken\",\n      \"PlaceholderIconText\":\"Configureer je webpart\",\n      \"PlaceholderDescription\":\"Configureer het webpart.\",\n      \"PlaceholderButtonLabel\":\"Configureer\",\n  \n      \"SiteTitleCaption\": \"Site Titel:\",\n      \"SiteContactCaption\": \"Site Contactpersoon:\",\n      \"SiteOrganizationCaption\": \"Site Organizatie:\"\n    }\n  });"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Beskrivning\",\n    \"BasicGroupName\": \"Gruppnamn\",\n    \"SiteTitleFieldLabel\": \"Webbplatstitel\",\n    \"SiteContactFieldLabel\": \"Webbplatskontakt\",\n    \"SiteOrganizationFieldLabel\": \"Webbplatsorganisation\",\n    \"SiteOrganizationPanelTitle\": \"Webbplatsorganisation\",\n\n    \"PlaceholderIconName\":\"Redigera\",\n    \"PlaceholderIconText\":\"Konfigurera din webbdel\",\n    \"PlaceholderDescription\":\"Var god konfigurera din webbdel.\",\n    \"PlaceholderButtonLabel\":\"Konfigurera\",\n\n    \"SiteTitleCaption\": \"Webbplatstitel:\",\n    \"SiteContactCaption\": \"Webbplatskontakt:\",\n    \"SiteOrganizationCaption\": \"Webbplatsorganisation:\"\n  }\n});"
  },
  {
    "path": "source/react-site-information/src/webparts/siteInformation/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Açıklama\",\n    \"BasicGroupName\": \"Grup ismi\",\n    \"SiteTitleFieldLabel\": \"Site Başlığı\",\n    \"SiteContactFieldLabel\": \"Site Yetkilisi\",\n    \"SiteOrganizationFieldLabel\": \"Site Organizasyonu\",\n    \"SiteOrganizationPanelTitle\": \"Site Organizasyonu\",\n\n    \"PlaceholderIconName\":\"Düzenle\",\n    \"PlaceholderIconText\":\"Web bölümünü yapılandır\",\n    \"PlaceholderDescription\":\"Lütfen web bölümünü yapılandırın.\",\n    \"PlaceholderButtonLabel\":\"Yapılandır\",\n\n    \"SiteTitleCaption\": \"Site Başlığı:\",\n    \"SiteContactCaption\": \"Site Yetkilisi:\",\n    \"SiteOrganizationCaption\": \"Site Organizasyonu:\"\n  }\n});"
  },
  {
    "path": "source/react-site-information/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-tiles/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-tiles/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          1,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-tiles/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n"
  },
  {
    "path": "source/react-tiles/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-tiles/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-tiles/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-tiles/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"libraryName\": \"react-tiles\",\n    \"libraryId\": \"b0c8359d-6380-4b12-baba-c79e4fd5f179\",\n    \"environment\": \"spo\",\n    \"packageManager\": \"npm\",\n    \"componentType\": \"webpart\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false\n  }\n}"
  },
  {
    "path": "source/react-tiles/README.md",
    "content": "# Tiles web part\n\nThis web part provides you the ability to add a per instance listing of tiled links. Tiles are stored as a collection of tiles within the web part's properties, removing the need for link storage within SharePoint lists, tenant properties, or other external link storage requirements.\n\nIcons are from Fluent UI Icons, those icons that should be available within at least Fluent UI version 7.3.\n\nView [Fluent UI Icons](https://developer.microsoft.com/en-us/fluentui#/styles/web/icons) for icon names.\n\n![Tiles](../../assets/images/components/part-tiles.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Tiles** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `Tiles` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Useful Tools | title | string | no | The web part title, editable inline with the web part itself |\n| Specify the height of the tiles | tileHeight | number | no | Default: 200, the height in pixels of each tile |\n| Tile data | collectionData | collection | no | Collection of tiles |\n\n### collectionData Collection Properties\n\nConfigurable properties for each tile row within the `collectionData` collection:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Title | title | string | yes | The text / title of the tile |\n| Description | description | string | no | Optional tile description |\n| URL | url | string | yes | The tile link url |\n| Fluent UI icon name | icon | fabricIcon | no | Optional Fluent UI icon name |\n| Target | target | dropdown | no | Optional target for this link, current or new window |\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nnone\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-tiles V1 | Elio Struyf (@estruyf)\nreact-tiles V2 | Fabio Franzini (@fabiofranzini)\nreact-tiles V3 | Chandani Prajapati (@Chandani_SPD)\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|April 13th, 2018|Initial release\n2.0|January 24, 2020|Initial release (extract web part from Starter Kit v1)\n3.0|February 2023|Upgraded to SPFx 1.16.1\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n> Include any additional steps as needed.\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* PnP property control usage\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-tiles\" />\n"
  },
  {
    "path": "source/react-tiles/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"tiles-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/tiles/TilesWebPart.js\",\n          \"manifest\": \"./src/webparts/tiles/TilesWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"TilesWebPartStrings\": \"lib/webparts/tiles/loc/{locale}.js\",\n    \"PropertyControlStrings\": \"node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-tiles/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-tiles\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-tiles/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Tiles\",\n    \"id\": \"b0c8359d-6380-4b12-baba-c79e4fd5f179\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-tiles description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-tiles description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"react-tiles Tiles WebPart Feature\",\n        \"description\": \"The feature that activates TilesWebPart from the react-tiles solution.\",\n        \"id\": \"61c36e66-16fd-4542-b50a-b8cd61359737\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"61c36e66-16fd-4542-b50a-b8cd61359737\"\n        ]\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-tiles.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-tiles/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-tiles/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-tiles/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-tiles/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-tiles/package.json",
    "content": "{\n  \"name\": \"react-tiles\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"@pnp/spfx-property-controls\": \"3.11.0\",\n    \"@types/es6-promise\": \"0.0.33\",\n    \"@types/react\": \"15.6.6\",\n    \"@types/react-dom\": \"15.5.6\",\n    \"@types/webpack-env\": \"1.13.1\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"tslib\": \"2.3.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@types/chai\": \"3.4.34\",\n    \"@types/mocha\": \"2.2.38\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\"\n  }\n}\n"
  },
  {
    "path": "source/react-tiles/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/ITileInfo.ts",
    "content": "export interface ITileInfo {\n  title: string;\n  description: string;\n  url: string;\n  icon: string;\n  target: LinkTarget;\n}\n\nexport enum LinkTarget {\n  parent = '',\n  blank = '_blank'\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/TilesWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"61c36e66-16fd-4542-b50a-b8cd61359737\",\n  \"alias\": \"TilesWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n  \"supportedHosts\": [\"SharePointWebPart\", \"TeamsPersonalApp\", \"TeamsTab\", \"SharePointFullPage\"],\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"Tiles\" },\n    \"description\": { \"default\": \"Lists links in tile format\" },\n    \"officeFabricIconFontName\": \"Tiles\",\n    \"properties\": {\n      \"title\": \"Useful tools\",\n      \"tileHeight\": 200\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/TilesWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration } from \"@microsoft/sp-property-pane\";\n\nimport * as strings from 'TilesWebPartStrings';\nimport { ITilesProps } from './components/ITilesProps';\nimport { ITileInfo, LinkTarget } from './ITileInfo';\nimport { Tiles } from './components/Tiles';\n\nexport interface ITilesWebPartProps {\n  collectionData: ITileInfo[];\n  tileHeight: number;\n  title: string;\n}\n\nexport default class TilesWebPart extends BaseClientSideWebPart<ITilesWebPartProps> {\n\n  // Just for suppress the tslint validation of dinamically loading of this field by using loadPropertyPaneResources()\n  // tslint:disable-next-line: no-any\n  private propertyFieldNumber: any;\n  // Just for suppress the tslint validation of dinamically loading of this field by using loadPropertyPaneResources()\n  // tslint:disable-next-line: no-any\n  private propertyFieldCollectionData: any;\n  // Just for suppress the tslint validation of dinamically loading of this field by using loadPropertyPaneResources()\n  // tslint:disable-next-line: no-any\n  private customCollectionFieldType: any;\n\n  public render(): void {\n    const element: React.ReactElement<ITilesProps> = React.createElement(\n      Tiles,\n      {\n        title: this.properties.title,\n        tileHeight: this.properties.tileHeight,\n        collectionData: this.properties.collectionData,\n        displayMode: this.displayMode,\n        fUpdateProperty: (value: string) => {\n          this.properties.title = value;\n        },\n        fPropertyPaneOpen: this.context.propertyPane.open\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  // executes only before property pane is loaded.\n  protected async loadPropertyPaneResources(): Promise<void> {\n    // import additional controls/components\n\n    const { PropertyFieldNumber } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-number' */\n      '@pnp/spfx-property-controls/lib/propertyFields/number'\n    );\n    const { PropertyFieldCollectionData, CustomCollectionFieldType } = await import(\n      /* webpackChunkName: 'pnp-propcontrols-colldata' */\n      '@pnp/spfx-property-controls/lib/PropertyFieldCollectionData'\n    );\n\n    this.propertyFieldNumber = PropertyFieldNumber;\n    this.propertyFieldCollectionData = PropertyFieldCollectionData;\n    this.customCollectionFieldType = CustomCollectionFieldType;\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupFields: [\n                this.propertyFieldCollectionData('collectionData', {\n                  key: 'collectionData',\n                  label: strings.tilesDataLabel,\n                  panelHeader: strings.tilesPanelHeader,\n                  // tslint:disable-next-line:max-line-length\n                  panelDescription: `${strings.iconInformation} https://developer.microsoft.com/en-us/fabric#/styles/icons`,\n                  manageBtnLabel: strings.tilesManageBtn,\n                  value: this.properties.collectionData,\n                  fields: [\n                    {\n                      id: 'title',\n                      title: strings.titleField,\n                      type: this.customCollectionFieldType.string,\n                      required: true\n                    },\n                    {\n                      id: 'description',\n                      title: strings.descriptionField,\n                      type: this.customCollectionFieldType.string,\n                      required: false\n                    },\n                    {\n                      id: 'url',\n                      title: strings.urlField,\n                      type: this.customCollectionFieldType.string,\n                      required: true\n                    },\n                    {\n                      id: 'icon',\n                      title: strings.iconField,\n                      type: this.customCollectionFieldType.fabricIcon,\n                      required: true\n                    },\n                    {\n                      id: 'target',\n                      title: strings.targetField,\n                      type: this.customCollectionFieldType.dropdown,\n                      options: [\n                        {\n                          key: LinkTarget.parent,\n                          text: strings.targetCurrent\n                        },\n                        {\n                          key: LinkTarget.blank,\n                          text: strings.targetNew\n                        }\n                      ]\n                    }\n                  ]\n                }),\n                this.propertyFieldNumber('tileHeight', {\n                  key: 'tileHeight',\n                  label: strings.TileHeight,\n                  value: this.properties.tileHeight\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/components/ITilesProps.ts",
    "content": "import { ITilesWebPartProps } from './../TilesWebPart';\nimport { DisplayMode } from '@microsoft/sp-core-library';\n\nexport interface ITilesProps extends ITilesWebPartProps {\n  displayMode: DisplayMode;\n\n  fUpdateProperty: (value: string) => void;\n  fPropertyPaneOpen: () => void;\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/components/Tile/ITileProps.ts",
    "content": "import { ITileInfo } from '../../ITileInfo';\n\nexport interface ITileProps {\n  item: ITileInfo;\n  height: number;\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/components/Tile/Tile.module.scss",
    "content": "@import \"~@microsoft/sp-office-ui-fabric-core/dist/sass/SPFabricCore.scss\";\n\n.tile {\n  @include ms-Grid-col;\n  @include ms-sm4;\n  display: flex;\n  margin-bottom: 16px;\n  flex-basis: 130px;\n\n  a {\n    background-color: $ms-color-themePrimary;\n    box-sizing: border-box;\n    color: $ms-color-white;\n    display: block;\n    min-height: 123px;\n    overflow: hidden;\n    padding: 15px;\n    position: relative;\n    text-decoration: none;\n    width: 100%;\n\n    &:hover,\n    &:visited {\n      color: $ms-color-white;\n      text-decoration: none;\n    }\n  }\n\n  .tileIcon {\n    @include ms-fontSize-su;\n    text-align: center;\n  }\n\n  .tileTitle {\n    @include ms-fontSize-m;\n    bottom: 0;\n    left: 0;\n    padding: 15px;\n    position: absolute;\n    right: 0;\n    text-align: center;\n  }\n\n  .overflow {\n    background-color: rgba(0, 0, 0, 0.8);\n    box-sizing: border-box;\n    color: white;\n    height: 100%;\n    left: 0;\n    padding: 15px;\n    position: absolute;\n    right: 0;\n    top: 100%;\n    transition: all 0.5s ease;\n  }\n\n  &:hover {\n    .overflow {\n      top: 0;\n    }\n  }\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/components/Tile/Tile.tsx",
    "content": "import * as React from 'react';\nimport styles from './Tile.module.scss';\nimport { Icon } from '@fluentui/react/lib/Icon';\nimport { ITileProps } from './ITileProps';\n\nexport class Tile extends React.Component<ITileProps, {}> {\n  public render(): React.ReactElement<ITileProps> {\n    const tileStyle: React.CSSProperties = {};\n    if (this.props.height) {\n      tileStyle.height = `${this.props.height}px`;\n    }\n\n    return (\n      <div className={styles.tile} style={tileStyle}>\n        <a href={this.props.item.url}\n          target={this.props.item.target}\n          title={this.props.item.title}>\n          <div className={styles.tileIcon}>\n            <Icon iconName={this.props.item.icon} />\n          </div>\n          <div className={styles.tileTitle}>\n            {this.props.item.title}\n          </div>\n\n          <div className={styles.overflow}>\n            {this.props.item.description}\n          </div>\n        </a>\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/components/Tiles.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n\n.tiles {\n  .message {\n    @include ms-font-m;\n  }\n\n  .error {\n    @include ms-font-m;\n    color: $ms-color-alert;\n  }\n\n  .tilesList {\n    @include ms-Grid-row;\n    display: block;\n    flex-wrap: wrap;\n  }\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/components/Tiles.tsx",
    "content": "import * as React from 'react';\nimport * as strings from 'TilesWebPartStrings';\nimport styles from './Tiles.module.scss';\nimport { Tile } from './Tile/Tile';\nimport { WebPartTitle } from '@pnp/spfx-controls-react/lib/WebPartTitle';\nimport { Placeholder } from '@pnp/spfx-controls-react/lib/Placeholder';\nimport { ITilesProps } from './ITilesProps';\n\nexport class Tiles extends React.Component<ITilesProps, {}> {\n\n  public render(): React.ReactElement<ITilesProps> {\n    return (\n      <div className={styles.tiles}>\n        <WebPartTitle displayMode={this.props.displayMode}\n          title={this.props.title}\n          updateProperty={this.props.fUpdateProperty} />\n        {\n          this.props.collectionData && this.props.collectionData.length > 0 ? (\n            <div className={styles.tilesList}>\n              {\n                this.props.collectionData.map((tile, idx) =>\n                  <Tile key={idx} item={tile} height={this.props.tileHeight} />)\n              }\n            </div>\n          ) : (\n              <Placeholder\n                iconName='Edit'\n                iconText={strings.noTilesIconText}\n                description={strings.noTilesConfigured}\n                buttonLabel={strings.noTilesBtn}\n                onConfigure={this.props.fPropertyPaneOpen} />\n            )\n        }\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/loc/de-de.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Kachel Web Part Konfiguration\",\n    \"TilesListDescription\": \"Die Liste zum konfigurieren der Kacheln kann unter folgendem Link gefunden werden:\",\n    \"TileHeight\": \"Geben Sie die Höhe der Kacheln an\",\n    \"iconInformation\": \"Die Namen zum angeben des Icon Feldes können unter der folgenden URL gefunden werden:\",\n\n    \"tilesDataLabel\": \"Kacheldaten\",\n    \"tilesPanelHeader\": \"Konfigurieren Sie Ihre Kachel\",\n    \"tilesManageBtn\": \"Kacheln konfigurieren\",\n\n    \"titleField\": \"Title\",\n    \"descriptionField\": \"Description\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric icon name\",\n    \"targetField\": \"Target\",\n\n    \"targetCurrent\": \"Aktuelles Fenster\",\n    \"targetNew\": \"Neuer Tab\",\n\n    \"noTilesIconText\": \"Konfigurieren Sie Ihre Kachel\",\n    \"noTilesConfigured\": \"Konfigurieren Sie den Webpart damit Kacheln angezeigt werden können\",\n    \"noTilesBtn\": \"Konfigurieren\",\n  }\n});\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Tiles web part configuration\",\n    \"TilesListDescription\": \"The list for configuring the tiles can be found on the following link:\",\n    \"TileHeight\": \"Specify the height of the tiles\",\n    \"iconInformation\": \"The names to specify for the icon field can be found on the following URL:\",\n\n    \"tilesDataLabel\": \"Tile data\",\n    \"tilesPanelHeader\": \"Configure your tiles\",\n    \"tilesManageBtn\": \"Configure the tiles\",\n\n    \"titleField\": \"Title\",\n    \"descriptionField\": \"Description\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric icon name\",\n    \"targetField\": \"Target\",\n\n    \"targetCurrent\": \"Current window\",\n    \"targetNew\": \"New tab\",\n\n    \"noTilesIconText\": \"Configure your tiles\",\n    \"noTilesConfigured\": \"Please configure the web part in order to show tiles\",\n    \"noTilesBtn\": \"Configure\",\n  }\n});\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/loc/es-es.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Configuraación del elemento web de Recuadros\",\n    \"TilesListDescription\": \"La lista para configurar los recuadros se puede encontar en el siguiente enlace:\",\n    \"TileHeight\": \"Especifique el alto de los recuadros\",\n    \"iconInformation\": \"Los nombres a especificar para el campo icono poueden encontrarse en la siguiente direccion URL:\",\n\n    \"tilesDataLabel\": \"Datos del recuadro\",\n    \"tilesPanelHeader\": \"Configure sus recuadros\",\n    \"tilesManageBtn\": \"Configure los recuadros\",\n\n    \"titleField\": \"Título\",\n    \"descriptionField\": \"Descripción\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"Nombre de icono de UI Fabric\",\n    \"targetField\": \"Destino\",\n\n    \"targetCurrent\": \"Ventana actual\",\n    \"targetNew\": \"Nueva ventana\",\n\n    \"noTilesIconText\": \"Configure sus recuadros\",\n    \"noTilesConfigured\": \"Favor de configurar el elemento web en el orden a mostrar los recuadros\",\n    \"noTilesBtn\": \"Configure\",\n  }\n});\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/loc/fr-fr.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Configuration des tuiles de la partie Web\",\n    \"TilesListDescription\": \"La liste de configuration des tuiles est disponible sur le lien suivant:\",\n    \"TileHeight\": \"Spécifiez la hauteur des tuiles\",\n    \"iconInformation\": \"Les noms à spécifier pour le champ d'icône se trouvent à l'URL suivante:\",\n\n    \"tilesDataLabel\": \"Données de tuiles\",\n    \"tilesPanelHeader\": \"Configurez vos tuiles\",\n    \"tilesManageBtn\": \"Configurer les tuiles\",\n\n    \"titleField\": \"Titre\",\n    \"descriptionField\": \"Description\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"Nom de l'icône d'UI Fabric\",\n    \"targetField\": \"Cible\",\n\n    \"targetCurrent\": \"Page fenêtre\",\n    \"targetNew\": \"Nouvel onglet\",\n\n    \"noTilesIconText\": \"Configurez vos tuiles\",\n    \"noTilesConfigured\": \"Veuillez configurer la partie Web pour afficher les tuiles.\",\n    \"noTilesBtn\": \"Configurer\",\n  }\n});\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/loc/mystrings.d.ts",
    "content": "declare interface ITilesWebPartStrings {\n  PropertyPaneDescription: string;\n  TilesListDescription: string;\n  TileHeight: string;\n  iconInformation: string;\n\n  // Properties\n  tilesDataLabel: string;\n  tilesPanelHeader: string;\n  tilesManageBtn: string;\n\n  // Tile fields\n  titleField: string;\n  descriptionField: string;\n  urlField: string;\n  iconField: string;\n  targetField: string;\n\n  targetCurrent: string;\n  targetNew: string;\n\n  // Component\n  noTilesIconText: string;\n  noTilesConfigured: string;\n  noTilesBtn: string;\n}\n\ndeclare module 'TilesWebPartStrings' {\n  const strings: ITilesWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/loc/nb-no.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Flis webdel konfigurasjon\",\n    \"TilesListDescription\": \"Listen med fliskonfigurasjoner finnes på følgende lenke:\",\n    \"TileHeight\": \"Angi høyden på flisene\",\n    \"iconInformation\": \"Navnene som skal angis i ikonfeltet finnes på følgende URL:\",\n\n    \"tilesDataLabel\": \"Flisdata\",\n    \"tilesPanelHeader\": \"Konfigurer dine fliser\",\n    \"tilesManageBtn\": \"Konfigurer flisene\",\n\n    \"titleField\": \"Tittel\",\n    \"descriptionField\": \"Beskrivelse\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric ikonnavn\",\n    \"targetField\": \"Mål\",\n\n    \"targetCurrent\": \"Gjeldende vindu\",\n    \"targetNew\": \"Nytt vindu\",\n\n    \"noTilesIconText\": \"Konfigurer dine fliser\",\n    \"noTilesConfigured\": \"Vennligst konfigurer webdelen for å vise dine fliser\",\n    \"noTilesBtn\": \"Konfigurer\",\n  }\n});\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/loc/nl-nl.js",
    "content": "define([], function() {\n    return {\n      \"PropertyPaneDescription\": \"Tegel webpart configuratie\",\n      \"TilesListDescription\": \"De lijst voor het configureren van de tegels kan gevonden worden via de volgende link:\",\n      \"TileHeight\": \"Specificeer de hoogte van de tegels\",\n      \"iconInformation\": \"De icoonnamen kan je vinden via de volgende URL:\",\n  \n      \"tilesDataLabel\": \"Tegel data\",\n      \"tilesPanelHeader\": \"Configureer je tegels\",\n      \"tilesManageBtn\": \"Configureer je tegels\",\n  \n      \"titleField\": \"Titel\",\n      \"descriptionField\": \"Omschrijving\",\n      \"urlField\": \"URL\",\n      \"iconField\": \"UI Fabric icoonnaam\",\n      \"targetField\": \"Doel\",\n  \n      \"targetCurrent\": \"Huidig venster\",\n      \"targetNew\": \"Nieuw tabblad\",\n  \n      \"noTilesIconText\": \"Configureer je tegels\",\n      \"noTilesConfigured\": \"Configureer de webpart om tegels te tonen\",\n      \"noTilesBtn\": \"Configureer\",\n    }\n  });\n  "
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/loc/sv-se.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Tiles webbdelskonfiguration\",\n    \"TilesListDescription\": \"Listan för att konfigurera tiles finns på följande länk\",\n    \"TileHeight\": \"Ange höjden på tilesen\",\n    \"iconInformation\": \"Namnen som ska anges i ikonfältet finns på följande webbadress:\",\n\n    \"tilesDataLabel\": \"Tiledata\",\n    \"tilesPanelHeader\": \"Konfigurera dina tiles\",\n    \"tilesManageBtn\": \"Konfigurera tilesen\",\n\n    \"titleField\": \"Titel\",\n    \"descriptionField\": \"Beskrivning\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric ikonnamn\",\n    \"targetField\": \"Mål\",\n\n    \"targetCurrent\": \"Aktuellt fönster\",\n    \"targetNew\": \"Ny flik\",\n\n    \"noTilesIconText\": \"Konfigurera dina tiles\",\n    \"noTilesConfigured\": \"Var god konfigurera webbdelen för att tilesen skall kunna visas\",\n    \"noTilesBtn\": \"Konfigurera\",\n  }\n});\n"
  },
  {
    "path": "source/react-tiles/src/webparts/tiles/loc/tr-tr.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Döşeme web parçası yapılandırması\",\n    \"TilesListDescription\": \"Döşemeleri yapılandırma listesi aşağıdaki linkte bulunabilir.:\",\n    \"TileHeight\": \"Döşemenin yüksekliğini belirtin\",\n    \"iconInformation\": \"İkon alanı için belirtilecek isimler aşağıdaki URL’de bulunabilir:\",\n\n    \"tilesDataLabel\": \"Döşeme Verisi\",\n    \"tilesPanelHeader\": \"Döşemelerini yapılandır\",\n    \"tilesManageBtn\": \"Döşemeleri yapılandırın\",\n\n    \"titleField\": \"Başlık\",\n    \"descriptionField\": \"Açıklama\",\n    \"urlField\": \"URL\",\n    \"iconField\": \"UI Fabric ikon adı\",\n    \"targetField\": \"Hedef\",\n\n    \"targetCurrent\": \"Geçerli pencere \",\n    \"targetNew\": \"Yeni sekme\",\n\n    \"noTilesIconText\": \"Döşemelerini yapılandır\",\n    \"noTilesConfigured\": \"Döşemeleri göstermek için lütfen web bölümünü yapılandırın\",\n    \"noTilesBtn\": \"Yapılandır\",\n  }\n});\n"
  },
  {
    "path": "source/react-tiles/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/react-weather/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-weather/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        '@typescript-eslint/no-explicit-any': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          1,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 1,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        '@typescript-eslint/no-explicit-any': 0,\n        'react/no-deprecated': 0,\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 1\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-weather/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts\n"
  },
  {
    "path": "source/react-weather/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-weather/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-weather/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-weather/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"16.19.0\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"libraryName\": \"react-weather\",\n    \"libraryId\": \"d47b1e90-b473-4855-bcd2-aa34ae942e5d\",\n    \"environment\": \"onprem19\",\n    \"packageManager\": \"npm\",\n    \"solutionName\": \"react-weather\",\n    \"solutionShortDescription\": \"react-weather description\",\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-weather/README.md",
    "content": "# Weather Information web part\n\nThis web part provides you the ability to display basic weather information for one location on a web page. The web part depends on a service provided by [OpenWeatherMap API](https://openweathermap.org/current/). The API requires authentication, and for that reason it is necessary to register for free plan to be able to obtain API Key that will be used to authenticate the calls. API Key has to be entered in web part configuration.\n\n\n\n![Weather Information](../../assets/images/components/part-weather.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **Weather** web part.\n3. Configure the web part to update its properties - location name, unit and API key.\n\n## Configurable Properties\n\nThe `Weather Information` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Add a location | location | string | yes | Inline editable location for weather request |\n| Display temperature as | unit | choice | yes | The requested temperature unit, Celsius or Fahrenheit |\n| API Key | apikey | string | yes | API key to authenticate the API call |\n\n## Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (spppkg) file](https://github.com/SharePoint/sp-starter-kit/blob/master/package/sharepoint-starter-kit.sppkg) and install that to your tenant.\n\n## Screenshots\n\n![Weather Information](../../assets/images/components/part-weather.png)\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.4-green.svg)\n\n* Works also at SharePoint 2019\n\n## Applies to\n\n* [SharePoint Framework](https:/dev.office.com/sharepoint)\n* [Office 365 tenant](https://dev.office.com/sharepoint/docs/spfx/set-up-your-development-environment)\n* [SharePoint 2019](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/sharepoint-2019-development-platform)\n\n## Prerequisites\n\nnone\n\n## Solution\n\nSolution|Author(s)\n--------|---------\n/solution/src/webparts/weatherInformation/ | Waldek Mastykarz (@waldekmastykarz), Vardhaman Deshpande (@vman)\nreact-weather | Dragan Panjkov (@panjkov) \nreact-weather | Chandani Prajapati(@Chandani_SPD)\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|April 2018|Initial release\n2.0|December 2019/January 2020|Standalone web part, OpenWeatherMap API\n3.0|January 2023|Upgraded to SPFx 1.16.1\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n> Include any additional steps as needed.\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* PnP property control usage\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-weather\" />\n"
  },
  {
    "path": "source/react-weather/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"weather-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/weather/WeatherWebPart.js\",\n          \"manifest\": \"./src/webparts/weather/WeatherWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"WeatherWebPartStrings\": \"lib/webparts/weather/loc/{locale}.js\",\n    \"ControlStrings\": \"node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js\"\n  }\n}"
  },
  {
    "path": "source/react-weather/config/copy-assets.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-weather/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"react-weather\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-weather/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - Weather\",\n    \"id\": \"d47b1e90-b473-4855-bcd2-aa34ae942e5d\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"websiteUrl\": \"\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"react-weather description\"\n      },\n      \"longDescription\": {\n        \"default\": \"react-weather description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - Weather webpart Feature\",\n        \"description\": \"The feature that activates Weather webpart from the Starter Kit - Weather solution.\",\n        \"id\": \"3ec11027-02d1-4595-97d3-d758095cb52b\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"3ec11027-02d1-4595-97d3-d758095cb52b\"\n        ]\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-weather.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-weather/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-weather/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-weather/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-weather/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-weather/package.json",
    "content": "{\n  \"name\": \"react-weather\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"tslib\": \"2.3.1\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\",\n    \"@types/react\": \"15.6.6\",\n    \"@types/react-dom\": \"15.5.6\",\n    \"@pnp/spfx-controls-react\": \"3.12.0\",\n    \"@types/webpack-env\": \"1.13.1\",\n    \"@types/es6-promise\": \"0.0.33\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"15.6.6\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\",\n    \"@types/chai\": \"3.4.34\",\n    \"@types/mocha\": \"2.2.38\"\n  }\n}"
  },
  {
    "path": "source/react-weather/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-weather/src/webparts/weather/WeatherWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"3ec11027-02d1-4595-97d3-d758095cb52b\",\n  \"alias\": \"WeatherWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n  \"supportedHosts\": [\"SharePointWebPart\", \"TeamsPersonalApp\", \"TeamsTab\", \"SharePointFullPage\"],\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"Weather\" },\n    \"description\": { \"default\": \"Shows weather information for the specified location\" },\n    \"officeFabricIconFontName\": \"Sunny\",\n    \"properties\": {\n      \"location\": \"\",\n      \"unit\": \"c\"\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-weather/src/webparts/weather/WeatherWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport {\n  IPropertyPaneConfiguration,\n  PropertyPaneTextField,\n  PropertyPaneChoiceGroup\n} from '@microsoft/sp-property-pane';\n\nimport * as strings from 'WeatherWebPartStrings';\nimport Weather from './components/Weather';\nimport { IWeatherProps } from './components/IWeatherProps';\n\nexport interface IWeatherWebPartProps {\n  location: string;\n  unit: string;\n  apikey: string;\n}\n\nexport default class WeatherWebPart extends BaseClientSideWebPart<IWeatherWebPartProps> {\n\n  public render(): void {\n    const element: React.ReactElement<IWeatherProps > = React.createElement(\n      Weather,\n      {\n        needsConfiguration: this._needsConfiguration(),\n        location: this.properties.location,\n        unit: this.properties.unit,\n        apikey: this.properties.apikey,\n        httpClient: this.context.httpClient,\n        configureHandler: this._onConfigure,\n        errorHandler: this._onError\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  protected onDispose(): void {\n    ReactDom.unmountComponentAtNode(this.domElement);\n  }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupName: strings.DataGroupName,\n              groupFields: [\n                PropertyPaneTextField('location', {\n                  label: strings.LocationFieldLabel,\n                  onGetErrorMessage: this._validateLocation.bind(this)\n                }),\n                PropertyPaneChoiceGroup('unit', {\n                  label: strings.UnitFieldLabel,\n                  options: [\n                    {\n                      text: strings.UnitFieldCelsius,\n                      key: 'c'\n                    },\n                    {\n                      text: strings.UnitFieldFahrenheit,\n                      key: 'f'\n                    }\n                  ]\n                })\n              ]\n            },\n            {\n              groupName: strings.ConfigGroupName,\n              groupFields: [\n                PropertyPaneTextField('apikey', {\n                  label: strings.ApiKeyFieldLabel,\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n/**\n   * Set the web part property pane to non-reactive, to avoid excessive retrieval\n   * of data from the third party API when typing the name of the location for\n   * which to retrieve weather information\n   */\n  protected get disableReactivePropertyChanges(): boolean {\n    return true;\n  }\n\n  protected onAfterPropertyPaneChangesApplied(): void {\n    // after one or more web part properties have been changed\n    // clear any error messages displayed in the web part\n    this.context.statusRenderer.clearError(this.domElement);\n  }\n\n  /**\n   * Handles clicking the Configure button in the placeholder\n   */\n  private _onConfigure = (): void => {\n    // open the property pane to let the user configure the web part\n    this.context.propertyPane.open();\n  }\n\n  /**\n   * Handles any error that occurred in the component\n   */\n  private _onError = (errorMessage: string): void => {\n    // render the message for the error that occurred in the web part\n    this.context.statusRenderer.renderError(this.domElement, errorMessage);\n  }\n\n  /**\n   * Verify if the specified location is valid\n   * @param value Location specified in the web part properties\n   */\n  private _validateLocation(value: string): string {\n    if (value === null ||\n      value.trim().length === 0) {\n      return strings.LocationNotSpecifiedError;\n    }\n\n    if (value.indexOf('\"') > -1) {\n      return strings.LocationDoubleQuoteNotAllowed;\n    }\n\n    return '';\n  }\n\n  /**\n   * Check if the web part has been configured\n   */\n  private _needsConfiguration(): boolean {\n    return !this.properties.location ||\n      this.properties.location.length === 0 ||\n      !this.properties.unit ||\n      this.properties.unit.length === 0 ||\n      !this.properties.apikey ||\n      this.properties.apikey.length === 0;\n  }\n}\n\n"
  },
  {
    "path": "source/react-weather/src/webparts/weather/components/IWeatherData.ts",
    "content": "export interface IWeatherData {\n    coord: IWeatherLocation;\n    weather: [IWeatherDescription];\n    main: IWeatherCondition;\n    timezone: number;\n    name: string;\n}\n\nexport interface IWeatherLocation {\n    lon: number;\n    lat: number;\n}\n\nexport interface IWeatherDescription {\n    main: string;\n    description: string;\n    icon: string;\n}\n\nexport interface IWeatherCondition {\n    temp: number;\n    feels_like: number;\n    temp_min: number;\n    temp_max: number;\n    pressure: number;\n    humidity: number;\n\n}"
  },
  {
    "path": "source/react-weather/src/webparts/weather/components/IWeatherProps.ts",
    "content": "import { HttpClient } from '@microsoft/sp-http';\n\nexport interface IWeatherProps {\n/**\n   * The location for which the weather should be displayed\n   */\n  location: string;\n  /**\n   * Unit in which the temperature should be displayed.\n   * 'c' for Celsius and 'f' for Fahrenheit\n   */\n  unit: string;\n    /**\n   * API Key for the API call\n   */\n  apikey: string;\n  /**\n   * True if the web part requires configuration\n   * (eg. the location hasn't been specified)\n   */\n  needsConfiguration: boolean;\n  /**\n   * Instance of the HttpClient used to retrieve weather information\n   * from a third party API\n   */\n  httpClient: HttpClient;\n  /**\n   * Event handler for clicking the Configure button in the placeholder\n   */\n  configureHandler: () => void;\n  /**\n   * Event handler for an error that occurred while loading weather information\n   */\n  errorHandler: (errorMessage: string) => void;\n}"
  },
  {
    "path": "source/react-weather/src/webparts/weather/components/IWeatherState.ts",
    "content": "import { IWeatherLocation, IWeatherDescription, IWeatherCondition } from \".\";\n\n/**\n * State for the weather information component\n */\nexport interface IWeatherState {\n  /**\n   * True if the component is loading its data, false otherwise\n   */\n  loading: boolean;\n  /**\n   * Weather information retrieved from the third party API.\n   * Undefined, if no information has been loaded\n   */\n  // weatherInfo?: IWeatherQueryResults;\n  coord?: IWeatherLocation;\n  weather?: IWeatherDescription;\n  main?: IWeatherCondition;\n  timezone?: number;\n  name?: string;\n}\n"
  },
  {
    "path": "source/react-weather/src/webparts/weather/components/Weather.module.scss",
    "content": "@font-face {\n  font-family: 'weather';\n  src: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/93/artill_clean_icons-webfont.eot');\n  src: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/93/artill_clean_icons-webfont.eot?#iefix') format('embedded-opentype'),\n       url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/93/artill_clean_icons-webfont.woff') format('woff'),\n       url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/93/artill_clean_icons-webfont.ttf') format('truetype'),\n       url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/93/artill_clean_icons-webfont.svg#artill_clean_weather_iconsRg') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n\n.weatherInformation {\n  .weather {\n    font-size: 40px;\n    text-align: center;\n\n    i {\n      font-family: weather;\n      font-size: 100px;\n      font-weight: normal;\n      font-style: normal;\n      line-height: 1.0;\n      text-transform: initial;\n\n      &[class=icon0]:before { content: \":\"; }\n      &[class=icon1]:before { content: \"p\"; }\n      &[class=icon2]:before { content: \"S\"; }\n      &[class=icon3]:before { content: \"Q\"; }\n      &[class=icon4]:before { content: \"S\"; }\n      &[class=icon5]:before { content: \"W\"; }\n      &[class=icon6]:before { content: \"W\"; }\n      &[class=icon7]:before { content: \"W\"; }\n      &[class=icon8]:before { content: \"W\"; }\n      &[class=icon9]:before { content: \"I\"; }\n      &[class=icon10]:before { content: \"W\"; }\n      &[class=icon11]:before { content: \"I\"; }\n      &[class=icon12]:before { content: \"I\"; }\n      &[class=icon13]:before { content: \"I\"; }\n      &[class=icon14]:before { content: \"I\"; }\n      &[class=icon15]:before { content: \"W\"; }\n      &[class=icon16]:before { content: \"I\"; }\n      &[class=icon17]:before { content: \"W\"; }\n      &[class=icon18]:before { content: \"U\"; }\n      &[class=icon19]:before { content: \"Z\"; }\n      &[class=icon20]:before { content: \"Z\"; }\n      &[class=icon21]:before { content: \"Z\"; }\n      &[class=icon22]:before { content: \"Z\"; }\n      &[class=icon23]:before { content: \"Z\"; }\n      &[class=icon24]:before { content: \"E\"; }\n      &[class=icon25]:before { content: \"E\"; }\n      &[class=icon26]:before { content: \"3\"; }\n      &[class=icon27]:before { content: \"a\"; }\n      &[class=icon28]:before { content: \"A\"; }\n      &[class=icon29]:before { content: \"a\"; }\n      &[class=icon30]:before { content: \"A\"; }\n      &[class=icon31]:before { content: \"6\"; }\n      &[class=icon32]:before { content: \"1\"; }\n      &[class=icon33]:before { content: \"6\"; }\n      &[class=icon34]:before { content: \"1\"; }\n      &[class=icon35]:before { content: \"W\"; }\n      &[class=icon36]:before { content: \"1\"; }\n      &[class=icon37]:before { content: \"S\"; }\n      &[class=icon38]:before { content: \"S\"; }\n      &[class=icon39]:before { content: \"S\"; }\n      &[class=icon40]:before { content: \"M\"; }\n      &[class=icon41]:before { content: \"W\"; }\n      &[class=icon42]:before { content: \"I\"; }\n      &[class=icon43]:before { content: \"W\"; }\n      &[class=icon44]:before { content: \"a\"; }\n      &[class=icon45]:before { content: \"S\"; }\n      &[class=icon46]:before { content: \"U\"; }\n      &[class=icon47]:before { content: \"S\"; }\n    }\n\n    .location {\n      font-size: 0.5em;\n      padding-bottom: 0.2em;\n    }\n  }\n}"
  },
  {
    "path": "source/react-weather/src/webparts/weather/components/Weather.tsx",
    "content": "import * as React from 'react';\nimport styles from './Weather.module.scss';\nimport { Placeholder } from \"@pnp/spfx-controls-react/lib/Placeholder\";\nimport {\n  Spinner,\n  SpinnerSize\n} from '@fluentui/react/lib/Spinner';\nimport { HttpClientResponse, HttpClient } from '@microsoft/sp-http';\nimport {\n  IWeatherState,\n  IWeatherData,\n  IWeatherProps,\n  IWeatherCondition,\n  IWeatherLocation,\n  IWeatherDescription\n} from '.';\nimport * as strings from 'WeatherWebPartStrings';\n\n\n\n\nexport default class Weather extends React.Component < IWeatherProps, IWeatherState > {\n  constructor(props: IWeatherProps) {\n  super(props);\n\n  this.state = {\n    loading: false\n  };\n}\n\n/**\n * Loads weather information for the specified location from a third party API\n * @param location Location for which to load weather information\n * @param unit Unit to display the current temperature.\n * @param apikey API key to authenticate the API call\n */\nprivate _loadWeatherInfo(location: string, unit: string, apikey: string): void {\n  // notify the user that the component will load its data\n  this.setState({\n    loading: true\n  });\n\n  let coord: IWeatherLocation;\n  let weather: IWeatherDescription;\n  let main: IWeatherCondition;\n  let timezone: number;\n  let name: string;\n\n  // retrieve weather information from the OpenWeatherMap weather API\n  this.props.httpClient\n    .get(`https://api.openweathermap.org/data/2.5/weather?q=${location}&appid=${apikey}`,\n     HttpClient.configurations.v1)\n    .then((response: HttpClientResponse): Promise<IWeatherData> => {\n      return response.json();\n    })\n    .then((data: IWeatherData): void => {\n      if (data) {\n        coord = data.coord;\n        weather =  data.weather[0];\n        main = data.main;\n        timezone = data.timezone;\n        name = data.name;\n\n        this.setState({\n          loading: false,\n          coord: coord,\n          weather: weather,\n          main: main,\n          timezone: timezone,\n          name: name\n        });\n      }\n      else {\n        // No weather information for the specified location has been found.\n        // Notify the user that loading the data is finished.\n        this.setState({\n          loading: false,\n          coord: null,\n          weather: null,\n          main: null,\n          timezone: null,\n          name: null\n        });\n        // Return an error message stating that no weather information has been found\n        this.props.errorHandler(`${strings.NoWeatherInformationFoundMessage}${location}`);\n      }\n    }, (error: any): void => {\n      // An error has occurred when calling the weather API.\n      // Notify the user that loading the data is finished\n      this.setState({\n        loading: false,\n        coord: null,\n        weather: null,\n        main: null,\n        timezone: null,\n        name: null\n      });\n      // Return the error message\n      this.props.errorHandler(error);\n    })\n    .catch((error: any): void => {\n      // An exception has occurred when calling the weather API.\n      // Notify the user that loading the data is finished\n      this.setState({\n        loading: false,\n        coord: null,\n        weather: null,\n        main: null,\n        timezone: null,\n        name: null\n      });\n      // Return the exception message\n      this.props.errorHandler(error);\n    });\n}\n\npublic componentDidMount(): void {\n  if (!this.props.needsConfiguration) {\n    // The web part has been configured. Load the weather information\n    // for the specified location.\n    this._loadWeatherInfo(this.props.location, this.props.unit, this.props.apikey);\n  }\n}\n\npublic componentWillReceiveProps(nextProps: IWeatherProps): void {\n  // If the location or the temperature unit have changed,\n  // refresh the weather information\n  if (nextProps.location && nextProps.unit) {\n    this._loadWeatherInfo(nextProps.location, nextProps.unit, nextProps.apikey);\n  }\n}\n\npublic render(): React.ReactElement<IWeatherProps> {\n  let contents: JSX.Element;\n  // Check if the web part has been configured. Also check,\n  // if the weather information has been initiated. This is\n  // necessary, because the first time the component renders,\n  // it's not loading its data but there is also no weather\n  // information available yet\n  if (this.props.needsConfiguration === false && this.state.weather) {\n    if (this.state.loading) {\n      // Component is loading its data. Show spinner to communicate this to the user\n      contents = <Spinner size={SpinnerSize.large} label={strings.LoadingSpinnerLabel} />;\n    }\n    else {\n\n      // render the retrieved weather information\n      const weather: IWeatherDescription = this.state.weather;\n      const location: IWeatherLocation = this.state.coord;\n      console.log(location)\n      const main: IWeatherCondition = this.state.main;\n      const name: string = this.state.name;\n      const image: any = 'http://openweathermap.org/img/w/' + weather.icon + '.png';\n\n      const tempUnit: string = this.props.unit.toUpperCase();\n      let tempValue: number = 0;\n\n      // Convert temperature to selected unit scale\n      if(tempUnit === 'C') {\n        tempValue = main.temp - 273.16;\n      }\n      else {\n        tempValue = (main.temp * 1.8) - 459.67;\n      }\n\n      contents = (\n        <div className={styles.weather}>\n          <div className='temp'>\n            <img src={image} />\n             {Math.round(tempValue)}&deg;{tempUnit}</div>\n          <div className={styles.location}>{name}</div>\n        </div>\n      );\n    }\n  }\n\n  return (\n    <div className={styles.weatherInformation}>\n      {this.props.needsConfiguration &&\n        // The web part hasn't been configured yet.\n        // Show a placeholder to have the user configure the web part\n        <Placeholder\n          iconName='Edit'\n          iconText={strings.PlaceholderIconText}\n          description={strings.PropertyPaneDescription}\n          buttonLabel={strings.PlaceholderButtonLabel}\n          onConfigure={this.props.configureHandler} />\n      }\n      {contents}\n    </div>\n  );\n}\n}\n"
  },
  {
    "path": "source/react-weather/src/webparts/weather/components/index.ts",
    "content": "export * from './IWeatherData';\nexport * from './IWeatherProps';\nexport * from './IWeatherState';\nexport * from './Weather';"
  },
  {
    "path": "source/react-weather/src/webparts/weather/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"Weather\",\n    \"DataGroupName\": \"Data\",\n    \"LocationFieldLabel\": \"Add a location\",\n    \"UnitFieldLabel\": \"Display temperature as\",\n    \"UnitFieldCelsius\": \"Celsius\",\n    \"UnitFieldFahrenheit\": \"Fahrenheit\",\n    \"ConfigGroupName\": \"Configuration\",\n    \"ApiKeyFieldLabel\": \"API Key\",\n    \"NoWeatherInformationFoundMessage\": \"No weather information found for \",\n    \"LoadingSpinnerLabel\": \"Loading weather information...\",\n    \"PlaceholderIconText\": \"Configure your web part\",\n    \"PlaceholderDescription\": \"Please configure the web part.\",\n    \"PlaceholderButtonLabel\": \"Configure\",\n    \"LocationNotSpecifiedError\": \"Specify a location\",\n    \"LocationDoubleQuoteNotAllowed\": \"\\\" (double quote) is not allowed in the location name\"\n  }\n});"
  },
  {
    "path": "source/react-weather/src/webparts/weather/loc/mystrings.d.ts",
    "content": "declare interface IWeatherWebPartStrings {\n  PropertyPaneDescription: string;\n  DataGroupName: string;\n  LocationFieldLabel: string;\n  UnitFieldLabel: string;\n  UnitFieldCelsius: string;\n  UnitFieldFahrenheit: string;\n  ConfigGroupName: string;\n  ApiKeyFieldLabel: string;\n  NoWeatherInformationFoundMessage: string;\n  LoadingSpinnerLabel: string;\n  PlaceholderIconText: string;\n  PlaceholderDescription: string;\n  PlaceholderButtonLabel: string;\n  LocationNotSpecifiedError: string;\n  LocationDoubleQuoteNotAllowed: string;\n}\n\ndeclare module 'WeatherWebPartStrings' {\n  const strings: IWeatherWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-weather/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"noUnusedLocals\": false,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ],\n  \"exclude\": [\n    \"node_modules\",\n    \"lib\"\n  ]\n}"
  },
  {
    "path": "source/react-world-clock/.editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n\n[*]\n\n# change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# we recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[{package,bower}.json]\nindent_style = space\nindent_size = 2"
  },
  {
    "path": "source/react-world-clock/.eslintrc.js",
    "content": "require('@rushstack/eslint-config/patch/modern-module-resolution');\nmodule.exports = {\n  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],\n  parserOptions: { tsconfigRootDir: __dirname },\n  overrides: [\n    {\n      files: ['*.ts', '*.tsx'],\n      parser: '@typescript-eslint/parser',\n      'parserOptions': {\n        'project': './tsconfig.json',\n        'ecmaVersion': 2018,\n        'sourceType': 'module'\n      },\n      rules: {\n        // Prevent usage of the JavaScript null value, while allowing code to access existing APIs that may require null. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/no-new-null': 1,\n        // Require Jest module mocking APIs to be called before any other statements in their code block. https://www.npmjs.com/package/@rushstack/eslint-plugin\n        '@rushstack/hoist-jest-mock': 1,\n        // Require regular expressions to be constructed from string constants rather than dynamically building strings at runtime. https://www.npmjs.com/package/@rushstack/eslint-plugin-security\n        '@rushstack/security/no-unsafe-regexp': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/adjacent-overload-signatures': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // CONFIGURATION:     By default, these are banned: String, Boolean, Number, Object, Symbol\n        '@typescript-eslint/ban-types': [\n          1,\n          {\n            'extendDefaults': false,\n            'types': {\n              'String': {\n                'message': 'Use \\'string\\' instead',\n                'fixWith': 'string'\n              },\n              'Boolean': {\n                'message': 'Use \\'boolean\\' instead',\n                'fixWith': 'boolean'\n              },\n              'Number': {\n                'message': 'Use \\'number\\' instead',\n                'fixWith': 'number'\n              },\n              'Object': {\n                'message': 'Use \\'object\\' instead, or else define a proper TypeScript type:'\n              },\n              'Symbol': {\n                'message': 'Use \\'symbol\\' instead',\n                'fixWith': 'symbol'\n              },\n              'Function': {\n                'message': 'The \\'Function\\' type accepts any function-like value.\\nIt provides no type safety when calling the function, which can be a common source of bugs.\\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with \\'new\\'.\\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'\n              }\n            }\n          }\n        ],\n        // RATIONALE:         Code is more readable when the type of every variable is immediately obvious.\n        //                    Even if the compiler may be able to infer a type, this inference will be unavailable\n        //                    to a person who is reviewing a GitHub diff.  This rule makes writing code harder,\n        //                    but writing code is a much less important activity than reading it.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/explicit-function-return-type': [\n          1,\n          {\n            'allowExpressions': true,\n            'allowTypedFunctionExpressions': true,\n            'allowHigherOrderFunctions': false\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: although this is a recommended rule, it is up to dev to select coding style.\n        // Set to 1 (warning) or 2 (error) to enable.\n        '@typescript-eslint/explicit-member-accessibility': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-array-constructor': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        //\n        // RATIONALE:         The \"any\" keyword disables static type checking, the main benefit of using TypeScript.\n        //                    This rule should be suppressed only in very special cases such as JSON.stringify()\n        //                    where the type really can be anything.  Even if the type is flexible, another type\n        //                    may be more appropriate such as \"unknown\", \"{}\", or \"Record<k,V>\".\n        '@typescript-eslint/no-explicit-any': 1,\n        // RATIONALE:         The #1 rule of promises is that every promise chain must be terminated by a catch()\n        //                    handler.  Thus wherever a Promise arises, the code must either append a catch handler,\n        //                    or else return the object to a caller (who assumes this responsibility).  Unterminated\n        //                    promise chains are a serious issue.  Besides causing errors to be silently ignored,\n        //                    they can also cause a NodeJS process to terminate unexpectedly.\n        '@typescript-eslint/no-floating-promises': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        '@typescript-eslint/no-for-in-array': 2,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-misused-new': 2,\n        // RATIONALE:         The \"namespace\" keyword is not recommended for organizing code because JavaScript lacks\n        //                    a \"using\" statement to traverse namespaces.  Nested namespaces prevent certain bundler\n        //                    optimizations.  If you are declaring loose functions/variables, it's better to make them\n        //                    static members of a class, since classes support property getters and their private\n        //                    members are accessible by unit tests.  Also, the exercise of choosing a meaningful\n        //                    class name tends to produce more discoverable APIs: for example, search+replacing\n        //                    the function \"reverse()\" is likely to return many false matches, whereas if we always\n        //                    write \"Text.reverse()\" is more unique.  For large scale organization, it's recommended\n        //                    to decompose your code into separate NPM packages, which ensures that component\n        //                    dependencies are tracked more conscientiously.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-namespace': [\n          1,\n          {\n            'allowDeclarations': false,\n            'allowDefinitionFiles': false\n          }\n        ],\n        // RATIONALE:         Parameter properties provide a shorthand such as \"constructor(public title: string)\"\n        //                    that avoids the effort of declaring \"title\" as a field.  This TypeScript feature makes\n        //                    code easier to write, but arguably sacrifices readability:  In the notes for\n        //                    \"@typescript-eslint/member-ordering\" we pointed out that fields are central to\n        //                    a class's design, so we wouldn't want to bury them in a constructor signature\n        //                    just to save some typing.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-parameter-properties': 0,\n        // RATIONALE:         When left in shipping code, unused variables often indicate a mistake.  Dead code\n        //                    may impact performance.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-unused-vars': [\n          1,\n          {\n            'vars': 'all',\n            // Unused function arguments often indicate a mistake in JavaScript code.  However in TypeScript code,\n            // the compiler catches most of those mistakes, and unused arguments are fairly common for type signatures\n            // that are overriding a base class method or implementing an interface.\n            'args': 'none'\n          }\n        ],\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/no-use-before-define': [\n          2,\n          {\n            'functions': false,\n            'classes': true,\n            'variables': true,\n            'enums': true,\n            'typedefs': true\n          }\n        ],\n        // Disallows require statements except in import statements.\n        // In other words, the use of forms such as var foo = require(\"foo\") are banned. Instead use ES6 style imports or import foo = require(\"foo\") imports.\n        '@typescript-eslint/no-var-requires': 'error',\n        // RATIONALE:         The \"module\" keyword is deprecated except when describing legacy libraries.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        '@typescript-eslint/prefer-namespace-keyword': 1,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: it's up to developer to decide if he wants to add type annotations\n        // Set to 1 (warning) or 2 (error) to enable the rule\n        '@typescript-eslint/no-inferrable-types': 0,\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        // Rationale to disable: declaration of empty interfaces may be helpful for generic types scenarios\n        '@typescript-eslint/no-empty-interface': 0,\n        '@typescript-eslint/no-explicit-any': 0,\n        // RATIONALE:         This rule warns if setters are defined without getters, which is probably a mistake.\n        'accessor-pairs': 1,\n        // RATIONALE:         In TypeScript, if you write x[\"y\"] instead of x.y, it disables type checking.\n        'dot-notation': [\n          1,\n          {\n            'allowPattern': '^_'\n          }\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'eqeqeq': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'for-direction': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'guard-for-in': 2,\n        // RATIONALE:         If you have more than 2,000 lines in a single source file, it's probably time\n        //                    to split up your code.\n        'max-lines': ['warn', { max: 2000 }],\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-async-promise-executor': 2,\n        // RATIONALE:         Deprecated language feature.\n        'no-caller': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-compare-neg-zero': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-cond-assign': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-constant-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-control-regex': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-debugger': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-delete-var': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-duplicate-case': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-character-class': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-empty-pattern': 1,\n        // RATIONALE:         Eval is a security concern and a performance concern.\n        'no-eval': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-ex-assign': 2,\n        // RATIONALE:         System types are global and should not be tampered with in a scalable code base.\n        //                    If two different libraries (or two versions of the same library) both try to modify\n        //                    a type, only one of them can win.  Polyfills are acceptable because they implement\n        //                    a standardized interoperable contract, but polyfills are generally coded in plain\n        //                    JavaScript.\n        'no-extend-native': 1,\n        // Disallow unnecessary labels\n        'no-extra-label': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-fallthrough': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-func-assign': 1,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-implied-eval': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-invalid-regexp': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-label-var': 2,\n        // RATIONALE:         Eliminates redundant code.\n        'no-lone-blocks': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-misleading-character-class': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-multi-str': 2,\n        // RATIONALE:         It's generally a bad practice to call \"new Thing()\" without assigning the result to\n        //                    a variable.  Either it's part of an awkward expression like \"(new Thing()).doSomething()\",\n        //                    or else implies that the constructor is doing nontrivial computations, which is often\n        //                    a poor class design.\n        'no-new': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-func': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        'no-new-object': 2,\n        // RATIONALE:         Obsolete notation.\n        'no-new-wrappers': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-octal': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        'no-octal-escape': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-regex-spaces': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-return-assign': 2,\n        // RATIONALE:         Security risk.\n        'no-script-url': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-self-assign': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-self-compare': 2,\n        // RATIONALE:         This avoids statements such as \"while (a = next(), a && a.length);\" that use\n        //                    commas to create compound expressions.  In general code is more readable if each\n        //                    step is split onto a separate line.  This also makes it easier to set breakpoints\n        //                    in the debugger.\n        'no-sequences': 1,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-shadow-restricted-names': 2,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-sparse-arrays': 2,\n        // RATIONALE:         Although in theory JavaScript allows any possible data type to be thrown as an exception,\n        //                    such flexibility adds pointless complexity, by requiring every catch block to test\n        //                    the type of the object that it receives.  Whereas if catch blocks can always assume\n        //                    that their object implements the \"Error\" contract, then the code is simpler, and\n        //                    we generally get useful additional information like a call stack.\n        'no-throw-literal': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unmodified-loop-condition': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unsafe-finally': 2,\n        // RATIONALE:         Catches a common coding mistake.\n        'no-unused-expressions': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-unused-labels': 1,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-useless-catch': 1,\n        // RATIONALE:         Avoids a potential performance problem.\n        'no-useless-concat': 1,\n        // RATIONALE:         The \"var\" keyword is deprecated because of its confusing \"hoisting\" behavior.\n        //                    Always use \"let\" or \"const\" instead.\n        //\n        // STANDARDIZED BY:   @typescript-eslint\\eslint-plugin\\dist\\configs\\recommended.json\n        'no-var': 2,\n        // RATIONALE:         Generally not needed in modern code.\n        'no-void': 1,\n        // RATIONALE:         Obsolete language feature that is deprecated.\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'no-with': 2,\n        // RATIONALE:         Makes logic easier to understand, since constants always have a known value\n        // @typescript-eslint\\eslint-plugin\\dist\\configs\\eslint-recommended.js\n        'prefer-const': 1,\n        // RATIONALE:         Catches a common coding mistake where \"resolve\" and \"reject\" are confused.\n        'promise/param-names': 2,\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-atomic-updates': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'require-yield': 1,\n        // \"Use strict\" is redundant when using the TypeScript compiler.\n        'strict': [\n          2,\n          'never'\n        ],\n        // RATIONALE:         Catches code that is likely to be incorrect\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        'use-isnan': 2,\n        // STANDARDIZED BY:   eslint\\conf\\eslint-recommended.js\n        // Set to 1 (warning) or 2 (error) to enable.\n        // Rationale to disable: !!{}\n        'no-extra-boolean-cast': 0,\n        'react/self-closing-comp': 0,\n        // ====================================================================\n        // @microsoft/eslint-plugin-spfx\n        // ====================================================================\n        '@microsoft/spfx/import-requires-chunk-name': 1,\n        '@microsoft/spfx/no-require-ensure': 2,\n        '@microsoft/spfx/pair-react-dom-render-unmount': 0\n      }\n    },\n    {\n      // For unit tests, we can be a little bit less strict.  The settings below revise the\n      // defaults specified in the extended configurations, as well as above.\n      files: [\n        // Test files\n        '*.test.ts',\n        '*.test.tsx',\n        '*.spec.ts',\n        '*.spec.tsx',\n\n        // Facebook convention\n        '**/__mocks__/*.ts',\n        '**/__mocks__/*.tsx',\n        '**/__tests__/*.ts',\n        '**/__tests__/*.tsx',\n\n        // Microsoft convention\n        '**/test/*.ts',\n        '**/test/*.tsx'\n      ],\n      rules: {}\n    }\n  ]\n};"
  },
  {
    "path": "source/react-world-clock/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Dependency directories\nnode_modules\n\n# Build generated files\ndist\nlib\nrelease\nsolution\ntemp\n*.sppkg\n.heft\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# OSX\n.DS_Store\n\n# Visual Studio files\n.ntvs_analysis.dat\n.vs\nbin\nobj\n\n# Resx Generated Code\n*.resx.ts\n\n# Styles Generated Code\n*.scss.ts"
  },
  {
    "path": "source/react-world-clock/.npmignore",
    "content": "!dist\nconfig\n\ngulpfile.js\n\nrelease\nsrc\ntemp\n\ntsconfig.json\ntslint.json\n\n*.log\n\n.yo-rc.json\n.vscode\n"
  },
  {
    "path": "source/react-world-clock/.vscode/launch.json",
    "content": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Hosted workbench\",\n      \"type\": \"pwa-chrome\",\n      \"request\": \"launch\",\n      \"url\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\",\n      \"webRoot\": \"${workspaceRoot}\",\n      \"sourceMaps\": true,\n      \"sourceMapPathOverrides\": {\n        \"webpack:///.././src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../src/*\": \"${webRoot}/src/*\",\n        \"webpack:///../../../../../src/*\": \"${webRoot}/src/*\"\n      },\n      \"runtimeArgs\": [\n        \"--remote-debugging-port=9222\",\n        \"-incognito\"\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "source/react-world-clock/.vscode/settings.json",
    "content": "// Place your settings in this file to overwrite default and user settings.\n{\n  // Configure glob patterns for excluding files and folders in the file explorer.\n  \"files.exclude\": {\n    \"**/.git\": true,\n    \"**/.DS_Store\": true,\n    \"**/bower_components\": true,\n    \"**/coverage\": true,\n    \"**/lib-amd\": true,\n    \"src/**/*.scss.ts\": true\n  },\n  \"typescript.tsdk\": \".\\\\node_modules\\\\typescript\\\\lib\"\n}"
  },
  {
    "path": "source/react-world-clock/.yo-rc.json",
    "content": "{\n  \"@microsoft/generator-sharepoint\": {\n    \"plusBeta\": false,\n    \"isCreatingSolution\": true,\n    \"nodeVersion\": \"14.15.1\",\n    \"sdksVersions\": {\n      \"@microsoft/microsoft-graph-client\": \"3.0.2\",\n      \"@microsoft/teams-js\": \"2.4.1\"\n    },\n    \"version\": \"1.16.1\",\n    \"environment\": \"spo\",\n    \"libraryName\": \"world-clock\",\n    \"libraryId\": \"55d6757f-94de-4bde-95bf-f8802db4a8f4\",\n    \"packageManager\": \"npm\",\n    \"componentType\": \"webpart\"\n  }\n}"
  },
  {
    "path": "source/react-world-clock/README.md",
    "content": "# World Time web part\n\nThis web part provides you the ability to display basic clock for a given time zone on a web page. The clock is based on the user's workstation time with an offset from UTC to the selected time zone.\n\n![World Time](../../assets/images/components/part-world-time.gif)\n\n## How to use this web part on your web pages\n\n1. Place the page you want to add this web part to in edit mode.\n2. Search for and insert the **World Time** web part.\n3. Configure the web part to update its properties.\n\n## Configurable Properties\n\nThe `World Time` web part can be configured with the following properties:\n\n| Label | Property | Type | Required | Description |\n| ---- | ---- | ---- | ---- | ---- |\n| Description | description | string | no | Default: UTC Time - The clock description |\n| Time Zone | timeZoneOffset | number | no | Default: 0 - The clock offset where 0 = UTC, -8 = PST (UTC−08:00), etc |\n\n## Installing the web part\n\nSee getting started from [SP-Starter-Kit repository readme](https://github.com/SharePoint/sp-starter-kit). \n\nYou can also download just the [SharePoint Framework solution package (spppkg) file](https://github.com/SharePoint/sp-starter-kit/blob/master/package/sharepoint-starter-kit.sppkg) and install that to your tenant.\n\n## Screenshots\n\n![World Time](../../assets/images/components/part-world-time.png)\n\n## Used SharePoint Framework Version\n\n![drop](https://img.shields.io/badge/version-1.16.1-green.svg)\n\n* Supported in SharePoint Online\n\n## Applies to\n\n* [SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview)\n* [Office 365 tenant](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)\n\n## Prerequisites\n\nnone\n\n## Solution\n\nSolution|Author(s)\n--------|---------\nreact-world-clock | Dragan Panjkov (@panjkov)\nreact-world-clock | Chandani Prajapati (@Chandani_SPD)\n\n## Version history\n\nVersion|Date|Comments\n-------|----|--------\n1.0|January 5, 2020|Initial release (extract web part from Starter Kit v1)\n3.0|February 2023|Initial release for SharePoint Starter Kit v3 (Upgraded to SPFx 1.16.1)\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n---\n\n## Minimal Path to Awesome\n\n* Clone this repository\n* Move to solution folder\n* in the command line run:\n  * `npm install`\n  * `gulp serve`\n\n> Include any additional steps as needed.\n\n## Features\n\nDescription of the web part with possible additional details than in short summary. \nThis Web Part illustrates the following concepts on top of the SharePoint Framework:\n\n* Use of SVG and CSS rotation to display a ticking clock\n\n<img src=\"https://telemetry.sharepointpnp.com/sp-starter-kit/source/react-world-clock\" />\n"
  },
  {
    "path": "source/react-world-clock/config/config.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json\",\n  \"version\": \"2.0\",\n  \"bundles\": {\n    \"world-clock-web-part\": {\n      \"components\": [\n        {\n          \"entrypoint\": \"./lib/webparts/worldClock/WorldClockWebPart.js\",\n          \"manifest\": \"./src/webparts/worldClock/WorldClockWebPart.manifest.json\"\n        }\n      ]\n    }\n  },\n  \"externals\": {},\n  \"localizedResources\": {\n    \"WorldClockWebPartStrings\": \"lib/webparts/worldClock/loc/{locale}.js\"\n  }\n}\n"
  },
  {
    "path": "source/react-world-clock/config/deploy-azure-storage.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json\",\n  \"workingDir\": \"./release/assets/\",\n  \"account\": \"<!-- STORAGE ACCOUNT NAME -->\",\n  \"container\": \"world-clock\",\n  \"accessKey\": \"<!-- ACCESS KEY -->\"\n}"
  },
  {
    "path": "source/react-world-clock/config/package-solution.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json\",\n  \"solution\": {\n    \"name\": \"Starter Kit - World Clock\",\n    \"id\": \"55d6757f-94de-4bde-95bf-f8802db4a8f4\",\n    \"version\": \"3.0.0.0\",\n    \"includeClientSideAssets\": true,\n    \"skipFeatureDeployment\": true,\n    \"isDomainIsolated\": false,\n    \"developer\": {\n      \"name\": \"PnP Starter Kit\",\n      \"privacyUrl\": \"\",\n      \"termsOfUseUrl\": \"\",\n      \"websiteUrl\": \"\",\n      \"mpnId\": \"pnpsk\"\n    },\n    \"metadata\": {\n      \"shortDescription\": {\n        \"default\": \"world-clock description\"\n      },\n      \"longDescription\": {\n        \"default\": \"world-clock description\"\n      },\n      \"screenshotPaths\": [],\n      \"videoUrl\": \"\",\n      \"categories\": []\n    },\n    \"features\": [\n      {\n        \"title\": \"Starter Kit - World Clock webpart Feature\",\n        \"description\": \"The feature that activates World Clock WebPart from the Starter Kit - World Clock solution.\",\n        \"id\": \"7d2fb8db-010c-41d1-a464-e98b80e87647\",\n        \"version\": \"3.0.0.0\",\n        \"componentIds\": [\n          \"7d2fb8db-010c-41d1-a464-e98b80e87647\"\n        ]\n      }\n    ]\n  },\n  \"paths\": {\n    \"zippedPackage\": \"solution/react-world-clock.sppkg\"\n  }\n}"
  },
  {
    "path": "source/react-world-clock/config/sass.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/core-build/sass.schema.json\"\n}"
  },
  {
    "path": "source/react-world-clock/config/serve.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json\",\n  \"port\": 4321,\n  \"https\": true,\n  \"initialPage\": \"https://enter-your-SharePoint-site/_layouts/workbench.aspx\"\n}\n"
  },
  {
    "path": "source/react-world-clock/config/write-manifests.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json\",\n  \"cdnBasePath\": \"<!-- PATH TO CDN -->\"\n}"
  },
  {
    "path": "source/react-world-clock/gulpfile.js",
    "content": "'use strict';\n\nconst build = require('@microsoft/sp-build-web');\n\nbuild.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);\n\nvar getTasks = build.rig.getTasks;\nbuild.rig.getTasks = function () {\n  var result = getTasks.call(build.rig);\n\n  result.set('serve', result.get('serve-deprecated'));\n\n  return result;\n};\n\nbuild.initialize(require('gulp'));\n"
  },
  {
    "path": "source/react-world-clock/package.json",
    "content": "{\n  \"name\": \"react-world-clock\",\n  \"version\": \"3.0.0\",\n  \"private\": true,\n  \"main\": \"lib/index.js\",\n  \"engines\": {\n    \"node\": \">=16.13.0 <17.0.0\"\n  },\n  \"scripts\": {\n    \"build\": \"gulp bundle\",\n    \"clean\": \"gulp clean\",\n    \"test\": \"gulp test\"\n  },\n  \"dependencies\": {\n    \"tslib\": \"2.3.1\",\n    \"react\": \"17.0.1\",\n    \"react-dom\": \"17.0.1\",\n    \"@microsoft/sp-core-library\": \"1.16.1\",\n    \"@microsoft/sp-property-pane\": \"1.16.1\",\n    \"@microsoft/sp-webpart-base\": \"1.16.1\",\n    \"@microsoft/sp-lodash-subset\": \"1.16.1\",\n    \"@microsoft/sp-office-ui-fabric-core\": \"1.16.1\"\n  },\n  \"resolutions\": {\n    \"@types/react\": \"16.8.8\"\n  },\n  \"devDependencies\": {\n    \"@microsoft/rush-stack-compiler-4.5\": \"0.2.2\",\n    \"@rushstack/eslint-config\": \"2.5.1\",\n    \"@microsoft/eslint-plugin-spfx\": \"1.16.1\",\n    \"@microsoft/eslint-config-spfx\": \"1.16.1\",\n    \"@microsoft/sp-build-web\": \"1.16.1\",\n    \"@types/webpack-env\": \"~1.15.2\",\n    \"ajv\": \"^6.12.5\",\n    \"gulp\": \"4.0.2\",\n    \"typescript\": \"4.5.5\",\n    \"@types/react\": \"17.0.45\",\n    \"@types/react-dom\": \"17.0.17\",\n    \"eslint-plugin-react-hooks\": \"4.3.0\",\n    \"@microsoft/sp-module-interfaces\": \"1.16.1\"\n  }\n}"
  },
  {
    "path": "source/react-world-clock/src/index.ts",
    "content": "// A file is required to be in the root of the /src directory by the TypeScript compiler\n"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/IWorldClockWebPartProps.ts",
    "content": "export interface IWorldClockWebPartProps {\n    description: string;\n    timeZoneOffset: number;\n  }"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/WorldClockWebPart.manifest.json",
    "content": "{\n  \"$schema\": \"https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json\",\n  \"id\": \"7d2fb8db-010c-41d1-a464-e98b80e87647\",\n  \"alias\": \"WorldClockWebPart\",\n  \"componentType\": \"WebPart\",\n\n  // The \"*\" signifies that the version should be taken from the package.json\n  \"version\": \"*\",\n  \"manifestVersion\": 2,\n  \"supportedHosts\": [\"SharePointWebPart\", \"TeamsPersonalApp\", \"TeamsTab\", \"SharePointFullPage\"],\n  // If true, the component can only be installed on sites where Custom Script is allowed.\n  // Components that allow authors to embed arbitrary script code should set this to true.\n  // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f\n  \"requiresCustomScript\": false,\n\n  \"preconfiguredEntries\": [{\n    \"groupId\": \"5c03119e-3074-46fd-976b-c60198311f70\", // Other\n    \"group\": { \"default\": \"Other\" },\n    \"title\": { \"default\": \"World Clock\" },\n    \"description\": { \"default\": \"Time across the world\" },\n    \"officeFabricIconFontName\": \"WorldClock\",\n    \"properties\": {\n      \"description\": \"UTC Time\",\n      \"timeZoneOffset\": 0\n    }\n  }]\n}\n"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/WorldClockWebPart.ts",
    "content": "import * as React from 'react';\nimport * as ReactDom from 'react-dom';\nimport { Version } from '@microsoft/sp-core-library';\nimport { BaseClientSideWebPart } from \"@microsoft/sp-webpart-base\";\nimport { IPropertyPaneConfiguration, PropertyPaneTextField, PropertyPaneDropdown, IPropertyPaneDropdownOption } from \"@microsoft/sp-property-pane\";\n\nimport * as strings from 'WorldClockWebPartStrings';\nimport WorldClock from './components/WorldClock';\nimport { IWorldClockProps } from './components/IWorldClockProps';\n\nimport {IWorldClockWebPartProps} from './IWorldClockWebPartProps';\nimport * as timeZones from './components/Timezones';\n\nexport default class WorldClockWebPart extends BaseClientSideWebPart<IWorldClockWebPartProps> {\n\n  public render(): void {\n    const element: React.ReactElement<IWorldClockProps > = React.createElement(\n      WorldClock,\n      {\n        description: this.properties.description,\n        timeZoneOffset: this.properties.timeZoneOffset,\n        errorHandler: (errorMessage: string) => {\n          this.context.statusRenderer.renderError(this.domElement, errorMessage);\n        }\n      }\n    );\n\n    ReactDom.render(element, this.domElement);\n  }\n\n  // protected onDispose(): void {\n  //   ReactDom.unmountComponentAtNode(this.domElement);\n  // }\n\n  protected get dataVersion(): Version {\n    return Version.parse('1.0');\n  }\n\n  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {\n    return {\n      pages: [\n        {\n          header: {\n            description: strings.PropertyPaneDescription\n          },\n          groups: [\n            {\n              groupName: strings.BasicGroupName,\n              groupFields: [\n                PropertyPaneTextField('description', {\n                  label: strings.DescriptionFieldLabel\n                }),\n                PropertyPaneDropdown('timeZoneOffset', {\n                  label: strings.TimeZoneOffsetFieldLabel,\n                  options: this.getTimeZones()\n                })\n              ]\n            }\n          ]\n        }\n      ]\n    };\n  }\n\n  private getTimeZones(): Array<IPropertyPaneDropdownOption> {\n    const result: Array<IPropertyPaneDropdownOption> = new Array<IPropertyPaneDropdownOption>();\n\n    for (const tz of timeZones.TimeZones.zones) {\n      result.push({ key: tz.id, text: tz.displayName});\n    }\n\n    return(result);\n  }\n}\n"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/components/Clock.module.scss",
    "content": "@import '~@fluentui/react/dist/sass/References.scss';\n@import url('https://fonts.googleapis.com/css?family=Roboto');\n\n.clockContainer {\n  position: relative;\n  width: 20%;\n  overflow: hidden;\n  background: #fff;\n  margin-left: auto;\n  margin-right: auto;\n  display: block;\n\n  &.styling{\n    box-shadow: 0px 0px 10px #888888;\n    border-radius: 50%;\n    min-width: 100px;\n    margin-top: 1%;\n  }\n\n  &:before {\n    content: \"\";\n    display: block;\n    padding-top: 100%;\n  }\n}\n\n.clockContent {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n\n  .backgroundNumbers {\n    position: absolute;\n    width: 90%;\n    height: 90%;\n    top: 5%;\n    left: 5%;\n    z-index: 1;\n    .numbers {\n      fill: grey;\n    }\n  }\n\n  .indicator {\n    border-radius: 10px;\n    transform-origin: bottom;\n    outline: 1px solid transparent; // Firefox fix on rotation\n    position: absolute;\n    bottom: 50%;\n\n    &.secondsIndicator {\n      width: 0.5%;\n      height: 37.5%;\n      z-index: 2;\n      background-color: #dfc48c;\n      &.transitionEffect {\n      }\n    }\n\n    &.minutesIndicator {\n      width: 1%;\n      height: 30%;\n      z-index: 3;\n      background-color: #cd6a51;\n      &.transitionEffect {\n      }\n    }\n\n    &.hoursIndicator {\n      width: 1.5%;\n      height: 22.5%;\n      z-index: 4;\n      background-color: #8f9c6c;\n      &.transitionEffect {\n      }\n    }\n  }\n\n  .indicatorCover {\n    position: absolute;\n    bottom: 48.5%; /*(50% - (3% /2)) */\n    border-radius: 50%;\n    width: 3%;\n    height: 3%;\n    background-color: lightgrey;\n    z-index: 5;\n  }\n}\n\n.digital {\n  color: $ms-color-black;\n  font-size: 15px;\n  margin-top: 2%;\n  text-align: center;\n}\n"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/components/Clock.tsx",
    "content": "import * as React from 'react';\nimport styles from './Clock.module.scss';\nimport { escape } from '@microsoft/sp-lodash-subset';\n\nexport interface IClockProps {\n    // defines the timeZone offset in minutes from UTC\n    timeZoneOffset?: number;\n}\n\nexport interface IClockState {\n    date: Date;\n}\n\nexport class Clock extends React.Component<IClockProps, IClockState> {\n\n    private _timerID: number;\n\n    constructor(props: IClockProps) {\n      super(props);\n      this.state = {\n        date: this.getDateTimeWithOffset()\n      };\n    }\n\n    public componentDidMount(): void {\n      this._timerID = setInterval(() => this.tick(), 1000);\n    }\n\n    public componentWillUnmount(): void {\n      clearInterval(this._timerID);\n    }\n\n    public render(): React.ReactElement<IClockProps> {\n\n        const hoursDegrees: number = this.state.date.getHours() * 30 + this.state.date.getMinutes() / 2;\n        const minutesDegrees: number = this.state.date.getMinutes() * 6 + this.state.date.getSeconds() / 10;\n        const secondsDegrees: number = this.state.date.getSeconds() * 6;\n\n        const divStyleHours: any = {\n            transform: \"rotateZ(\" + hoursDegrees + \"deg)\"\n        };\n\n        const divStyleMinutes: any = {\n            transform: \"rotateZ(\" + minutesDegrees + \"deg)\"\n        };\n\n        const divStyleSeconds: any = {\n            transform: \"rotateZ(\" + secondsDegrees + \"deg)\"\n        };\n\n        return (\n            <div>\n                <div className={`${styles.clockContainer} ${styles.styling}`}>\n                    <div id=\"clock\" className={styles.clockContent}>\n                        <svg className={styles.backgroundNumbers} viewBox=\"0 0 226.6 233.8\">\n                          <path className={styles.numbers} d=\"M105.5 22.7V6.4h-5.9V4.3c.8 0 1.5-.1 2.2-.2.7-.1 1.4-.3 2-.7.6-.3 1.1-.8 1.5-1.3.4-.6.7-1.3.8-2.1h2.1v22.7h-2.7zM114.1 4.8c.3-1 .8-1.8 1.4-2.5.6-.7 1.4-1.3 2.4-1.7.9-.4 2-.6 3.2-.6 1 0 1.9.1 2.8.4.9.3 1.6.7 2.3 1.2.6.5 1.1 1.2 1.5 2 .4.8.6 1.7.6 2.8 0 1-.2 1.9-.5 2.7s-.7 1.5-1.2 2.1c-.5.6-1.1 1.2-1.8 1.6-.7.5-1.3 1-2 1.4-.7.4-1.4.8-2.1 1.3s-1.3.9-1.9 1.3c-.6.5-1.1 1-1.5 1.5s-.7 1.2-.8 1.9h11.6v2.4h-14.8c.1-1.3.3-2.5.7-3.4.4-.9.8-1.8 1.4-2.5s1.2-1.3 2-1.9c.7-.5 1.5-1 2.3-1.5 1-.6 1.8-1.1 2.5-1.6s1.3-1 1.8-1.5.8-1.1 1.1-1.7.4-1.3.4-2.1c0-.6-.1-1.2-.4-1.7-.2-.5-.5-.9-.9-1.3s-.9-.6-1.4-.8c-.5-.2-1.1-.3-1.7-.3-.8 0-1.5.2-2 .5-.6.3-1 .8-1.4 1.3-.4.5-.6 1.1-.8 1.8s-.2 1.3-.2 2H114c-.3-1-.2-2.1.1-3.1zM166.5 38.2V21.9h-5.9v-2.2c.8 0 1.5-.1 2.2-.2.7-.1 1.4-.3 2-.7.6-.3 1.1-.8 1.5-1.3.4-.6.7-1.3.8-2.1h2.1v22.7h-2.7zM198.9 59.2c.3-1 .8-1.8 1.4-2.5.6-.7 1.4-1.3 2.4-1.7.9-.4 2-.6 3.2-.6 1 0 1.9.1 2.8.4.9.3 1.6.7 2.3 1.2.6.5 1.1 1.2 1.5 2 .4.8.6 1.7.6 2.8 0 1-.2 1.9-.5 2.7s-.7 1.5-1.2 2.1c-.5.6-1.1 1.2-1.8 1.6-.7.5-1.3 1-2 1.4-.7.4-1.4.8-2.1 1.3s-1.3.9-1.9 1.3c-.6.5-1.1 1-1.5 1.5s-.7 1.2-.8 1.9h11.6V77H198c.1-1.3.3-2.5.7-3.4.4-.9.8-1.8 1.4-2.5s1.2-1.3 2-1.9c.7-.5 1.5-1 2.3-1.5 1-.6 1.8-1.1 2.5-1.6s1.3-1 1.8-1.5.8-1.1 1.1-1.7.4-1.3.4-2.1c0-.6-.1-1.2-.4-1.7-.2-.5-.5-.9-.9-1.3s-.9-.6-1.4-.8c-.5-.2-1.1-.3-1.7-.3-.8 0-1.5.2-2 .5-.6.3-1 .8-1.4 1.3-.4.5-.6 1.1-.8 1.8s-.2 1.3-.2 2h-2.7c-.2-1.1-.1-2.1.2-3.1zM217.6 115.1H218.5c.6 0 1.1-.1 1.6-.2s1-.4 1.4-.7c.4-.3.7-.7.9-1.2.2-.5.4-1 .4-1.6 0-1.2-.4-2.1-1.2-2.7-.8-.6-1.7-.9-2.9-.9-.7 0-1.4.1-1.9.4-.5.3-1 .6-1.3 1.1-.4.4-.6 1-.8 1.6-.2.6-.3 1.2-.3 1.9h-2.7c0-1.1.2-2.1.5-3s.8-1.7 1.3-2.3c.6-.6 1.3-1.1 2.2-1.5.9-.4 1.9-.5 3-.5 1 0 1.9.1 2.7.4s1.6.6 2.2 1.1c.6.5 1.1 1.1 1.5 1.9s.5 1.7.5 2.7c0 1-.3 1.9-.9 2.7-.6.8-1.3 1.4-2.2 1.8v.1c1.4.3 2.4 1 3.1 2 .7 1 1 2.2 1 3.6 0 1.1-.2 2.1-.6 3-.4.9-1 1.6-1.7 2.2s-1.5 1-2.5 1.3-2 .4-3 .4c-1.2 0-2.2-.2-3.1-.5-.9-.3-1.7-.8-2.4-1.4-.7-.6-1.2-1.4-1.5-2.3-.4-.9-.5-2-.5-3.1h2.7c0 1.5.5 2.7 1.3 3.6.8.9 2 1.4 3.6 1.4.7 0 1.3-.1 1.9-.3.6-.2 1.1-.5 1.6-.9s.8-.8 1.1-1.4.4-1.2.4-1.8c0-.7-.1-1.3-.4-1.9s-.6-1-1-1.4-.9-.7-1.5-.8-1.2-.3-1.9-.3c-.6 0-1.1 0-1.6.1V115c-.1.1 0 .1.1.1zM214.2 173.8v2.4h-3.1v5.3h-2.6v-5.3h-10v-2.6l10.3-14.8h2.2v15h3.2zm-5.6-11.1l-7.6 11.1h7.6v-11.1zM163.7 199.4l-1.2 6.5.1.1c.5-.6 1.1-1 1.9-1.2.8-.3 1.6-.4 2.3-.4 1 0 2 .2 2.8.5.9.3 1.7.8 2.3 1.5.7.7 1.2 1.5 1.6 2.4s.6 2.1.6 3.4c0 1-.2 1.9-.5 2.8-.3.9-.8 1.7-1.5 2.4s-1.5 1.3-2.5 1.7-2.1.6-3.5.6c-1 0-1.9-.1-2.8-.4s-1.6-.7-2.3-1.2-1.2-1.2-1.6-2c-.4-.8-.6-1.7-.6-2.8h2.7c0 .6.2 1.1.4 1.6s.6.9 1 1.3.9.7 1.5.9c.6.2 1.2.3 1.9.3.6 0 1.3-.1 1.8-.3.6-.2 1.1-.6 1.5-1 .4-.4.8-1 1-1.7.3-.7.4-1.5.4-2.4 0-.7-.1-1.4-.4-2.1s-.6-1.2-1-1.6-1-.8-1.6-1.1-1.3-.4-2.1-.4c-.9 0-1.7.2-2.4.6-.7.4-1.3.9-1.8 1.6l-2.3-.1 2.1-11.8h11.2v2.4h-9zM116.4 214.1c-.7-.6-1.5-.9-2.6-.9-1.2 0-2.1.3-2.8.8s-1.3 1.3-1.6 2.1-.7 1.8-.8 2.8c-.1 1-.2 1.9-.3 2.8l.1.1c.6-1 1.4-1.8 2.4-2.3.9-.5 2-.7 3.3-.7 1.1 0 2.1.2 2.9.6.9.4 1.6.9 2.2 1.6s1 1.4 1.4 2.3c.3.9.5 1.9.5 2.9 0 .8-.1 1.7-.4 2.6-.3.9-.7 1.7-1.3 2.4-.6.7-1.4 1.3-2.3 1.8-1 .5-2.2.7-3.6.7-1.7 0-3-.3-4.1-1s-1.8-1.6-2.4-2.6c-.6-1.1-.9-2.2-1.1-3.5-.2-1.3-.3-2.5-.3-3.7 0-1.6.1-3.1.4-4.5.3-1.5.7-2.8 1.4-3.9.6-1.1 1.5-2 2.6-2.7 1.1-.7 2.4-1 4-1 1.9 0 3.4.5 4.5 1.5s1.7 2.4 1.9 4.3h-2.7c-.2-1.1-.6-1.9-1.3-2.5zm-4.9 7.5c-.6.3-1.1.6-1.5 1.1-.4.5-.7 1-.9 1.6-.2.6-.3 1.3-.3 2s.1 1.4.3 2c.2.6.5 1.2.9 1.6.4.4.9.8 1.5 1.1.6.3 1.3.4 2 .4s1.4-.1 2-.4c.6-.3 1-.6 1.4-1.1.4-.5.7-1 .9-1.6s.3-1.2.3-1.9-.1-1.4-.3-2c-.2-.6-.5-1.2-.8-1.6-.4-.5-.9-.8-1.4-1.1s-1.2-.4-2-.4c-.9-.1-1.5.1-2.1.3zM64.9 203.4c-1 1.6-1.9 3.2-2.7 5-.8 1.8-1.4 3.6-1.9 5.5s-.8 3.7-.9 5.5h-3c.1-1.9.4-3.8.9-5.6.5-1.8 1.1-3.6 1.9-5.2s1.7-3.3 2.7-4.8c1-1.5 2.1-2.9 3.3-4.1H53.5V197h14.7v2.3c-1.2 1.2-2.3 2.5-3.3 4.1zM15.2 162.1c.4-.7.9-1.3 1.5-1.8s1.3-.9 2.1-1.1c.8-.3 1.6-.4 2.5-.4 1.2 0 2.3.2 3.2.5.9.3 1.6.8 2.1 1.3s.9 1.2 1.2 1.9c.3.7.4 1.4.4 2.1 0 1-.3 2-.8 2.8s-1.3 1.5-2.3 1.9c1.4.4 2.4 1.1 3 2.1s1 2.2 1 3.6c0 1.1-.2 2.1-.6 2.9-.4.9-.9 1.6-1.6 2.2s-1.5 1-2.4 1.3-1.9.4-2.9.4c-1.1 0-2.1-.1-3-.4-.9-.3-1.8-.7-2.4-1.3s-1.2-1.3-1.6-2.2c-.4-.9-.6-1.9-.6-3 0-1.3.3-2.5 1-3.5s1.7-1.7 2.9-2.2c-1-.4-1.7-1-2.3-1.9-.6-.9-.9-1.8-.9-2.8-.1-.9.1-1.7.5-2.4zm2.9 16.2c.9.8 2.1 1.2 3.5 1.2.7 0 1.3-.1 1.9-.3.6-.2 1.1-.5 1.5-.9s.7-.9 1-1.4.3-1.1.3-1.8c0-.6-.1-1.2-.4-1.7s-.6-1-1-1.4-.9-.7-1.5-.9c-.6-.2-1.2-.3-1.8-.3-.7 0-1.3.1-1.9.3-.6.2-1.1.5-1.5.9-.4.4-.8.8-1 1.4-.2.5-.4 1.1-.4 1.8-.1 1.2.3 2.3 1.3 3.1zm-.3-12c.2.5.5.8.9 1.1.4.3.8.5 1.3.7.5.1 1 .2 1.6.2 1.1 0 2-.3 2.7-1 .7-.6 1.1-1.5 1.1-2.7s-.4-2-1.1-2.6c-.7-.6-1.6-.9-2.7-.9-.5 0-1 .1-1.5.2s-.9.4-1.3.7c-.4.3-.6.7-.8 1.1-.2.4-.3.9-.3 1.5-.2.7-.1 1.2.1 1.7zM4.5 125.1c.8.6 1.7.9 2.8.9 1.7 0 2.9-.7 3.7-2.2s1.3-3.6 1.4-6.6l-.1-.1c-.5 1-1.2 1.7-2.2 2.3-.9.6-2 .8-3.1.8-1.2 0-2.2-.2-3.1-.6-.9-.4-1.6-.9-2.3-1.6-.6-.7-1.1-1.5-1.4-2.4-.3-.9-.5-2-.5-3.1s.2-2.1.5-3c.4-.9.9-1.7 1.5-2.3.7-.7 1.5-1.2 2.4-1.5.9-.4 1.9-.5 3-.5s2.1.2 3 .5c.9.3 1.8.9 2.5 1.7.7.8 1.3 1.9 1.7 3.3.4 1.4.6 3.2.6 5.3 0 3.9-.6 6.9-1.9 9-1.2 2.1-3.2 3.2-6 3.2-1.9 0-3.5-.5-4.7-1.4s-2-2.4-2.1-4.4h2.7c.4 1.2.9 2.1 1.6 2.7zm7.2-14.2c-.2-.6-.5-1.2-.9-1.6s-.9-.9-1.5-1.1c-.6-.3-1.2-.4-2-.4s-1.5.1-2.1.4-1 .7-1.4 1.2c-.4.5-.6 1.1-.8 1.7-.2.6-.2 1.3-.2 2 0 .6.1 1.2.3 1.8.2.6.5 1.1.9 1.5.4.4.9.8 1.4 1.1s1.1.4 1.8.4 1.3-.1 1.9-.4 1.1-.6 1.5-1.1c.4-.5.7-1 .9-1.6.2-.6.3-1.2.3-1.9.2-.7.1-1.4-.1-2zM13.6 76V59.8H7.8v-2.2c.8 0 1.5-.1 2.2-.2.7-.1 1.4-.3 2-.7.6-.3 1.1-.8 1.5-1.3.4-.6.7-1.3.8-2.1h2.1V76h-2.8zM21.9 62.3c0-.9.1-1.8.3-2.6.2-.9.4-1.7.7-2.4.3-.8.8-1.4 1.3-2 .6-.6 1.3-1 2.1-1.4s1.9-.5 3-.5c1.2 0 2.2.2 3 .5s1.5.8 2.1 1.4c.6.6 1 1.2 1.3 2 .3.8.6 1.6.7 2.4.2.9.3 1.7.3 2.6s.1 1.8.1 2.6 0 1.7-.1 2.6-.1 1.8-.3 2.6c-.2.9-.4 1.7-.7 2.4s-.8 1.4-1.3 2c-.6.6-1.2 1-2.1 1.4s-1.8.5-3 .5-2.2-.2-3-.5-1.5-.8-2.1-1.4c-.6-.6-1-1.2-1.3-2s-.6-1.6-.7-2.4c-.2-.9-.3-1.7-.3-2.6 0-.9-.1-1.8-.1-2.6.1-.8.1-1.7.1-2.6zm2.9 5.4c.1 1.1.2 2 .5 3 .3.9.8 1.7 1.4 2.4s1.5 1 2.7 1c1.2 0 2-.3 2.7-1s1.1-1.4 1.4-2.4c.3-.9.5-1.9.5-3 .1-1.1.1-2 .1-2.9V63c0-.7-.1-1.3-.2-2s-.2-1.3-.4-2c-.2-.6-.4-1.2-.8-1.7s-.8-.9-1.3-1.2-1.2-.4-2-.4-1.4.1-2 .4c-.5.3-1 .7-1.3 1.2-.4.5-.6 1-.8 1.7-.2.6-.3 1.3-.4 2-.1.7-.1 1.3-.2 2v1.8c.1.9.1 1.9.1 2.9z M53.5 38.2V21.9h-5.9v-2.2c.8 0 1.5-.1 2.2-.2.7-.1 1.4-.3 2-.7.6-.3 1.1-.8 1.5-1.3.4-.6.7-1.3.8-2.1h2.1v22.7h-2.7zM69.1 38.2V21.9h-5.9v-2.2c.8 0 1.5-.1 2.2-.2.7-.1 1.4-.3 2-.7.6-.3 1.1-.8 1.5-1.3.4-.6.7-1.3.8-2.1h2.1v22.7h-2.7z\"/></svg>\n                        <div\n                            id=\"hours-indicator\"\n                            className={`${styles.indicator} ${styles.hoursIndicator}\n                              ${(this.state.date.getHours() === 0 ? \"\" : \"transition-effect\")}`}\n                            style={divStyleHours}></div>\n                        <div\n                            id=\"minutes-indicator\"\n                            className={`${styles.indicator} ${styles.minutesIndicator}\n                              ${(this.state.date.getMinutes() === 0 ? \"\" : \"transition-effect\")}`}\n                            style={divStyleMinutes}></div>\n                        <div\n                            id=\"seconds-indicator\"\n                            className={`${styles.indicator} ${styles.secondsIndicator}\n                              ${(this.state.date.getSeconds() === 0 ? \"\" : \"transition-effect\")}`}\n                            style={divStyleSeconds}></div>\n                        <div className={styles.indicatorCover}></div>\n                    </div>\n                </div>\n                <div className={styles.digital}>{escape(this.state.date.toLocaleTimeString())}</div>\n            </div>\n        );\n    }\n\n    private tick(): void {\n        this.setState({\n          date: this.getDateTimeWithOffset()\n        });\n      }\n\n    // this method converts the current date and time into the right time zone, based on the offset configured in the properties\n    private getDateTimeWithOffset(): Date {\n\n        const now: Date = new Date();\n\n        // on Jan 01 of the current year there is no DST\n        const withoutDSTDate: Date = new Date(now.getFullYear(), 0, 1);\n\n        // on Jul 01 of the current year there is DST\n        const withDSTDate: Date = new Date(now.getFullYear(), 6, 1);\n\n        // determine if now there is DST\n        const isDST: boolean = now.getTimezoneOffset() < Math.max(withoutDSTDate.getTimezoneOffset(), withDSTDate.getTimezoneOffset());\n\n        // convert now to UTC\n        const utcNow: Date = new Date(now.getTime() + now.getTimezoneOffset() * 60000);\n\n        // determine the final date and time, considering DST, too\n        const dateTimeWithOffset: Date = new Date(utcNow.getTime() + (this.props.timeZoneOffset * 60000) + (isDST ? 60 * 60000 : 0));\n\n        return(dateTimeWithOffset);\n        }\n}\n"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/components/IWorldClockProps.ts",
    "content": "export interface IWorldClockProps {\n  description: string;\n  timeZoneOffset: number;\n  errorHandler: (errorMessage: string) => void;\n}\n"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/components/Timezones.ts",
    "content": "export interface ITimeZone {\n    id: number;\n    displayName: string;\n    name: string;\n    offsetMinutes: number;\n}\n\nexport class TimeZones {\n    public static zones: ITimeZone[]  = [\n        {\n            offsetMinutes:  -720,\n            name:  'Dateline Standard Time',\n            id:  1,\n            displayName:  '(UTC-12:00) International Date Line West'\n        },\n        {\n            offsetMinutes:  -660,\n            name:  'UTC-11',\n            id:  2,\n            displayName:  '(UTC-11:00) Coordinated Universal Time-11'\n        },\n        {\n            offsetMinutes:  -600,\n            name:  'Aleutian Standard Time',\n            id:  3,\n            displayName:  '(UTC-10:00) Aleutian Islands'\n        },\n        {\n            offsetMinutes:  -600,\n            name:  'Hawaiian Standard Time',\n            id:  4,\n            displayName:  '(UTC-10:00) Hawaii'\n        },\n        {\n            offsetMinutes:  -570,\n            name:  'Marquesas Standard Time',\n            id:  5,\n            displayName:  '(UTC-09:30) Marquesas Islands'\n        },\n        {\n            offsetMinutes:  -540,\n            name:  'Alaskan Standard Time',\n            id:  6,\n            displayName:  '(UTC-09:00) Alaska'\n        },\n        {\n            offsetMinutes:  -540,\n            name:  'UTC-09',\n            id:  7,\n            displayName:  '(UTC-09:00) Coordinated Universal Time-09'\n        },\n        {\n            offsetMinutes:  -480,\n            name:  'Pacific Standard Time (Mexico)',\n            id:  8,\n            displayName:  '(UTC-08:00) Baja California'\n        },\n        {\n            offsetMinutes:  -480,\n            name:  'UTC-08',\n            id:  9,\n            displayName:  '(UTC-08:00) Coordinated Universal Time-08'\n        },\n        {\n            offsetMinutes:  -480,\n            name:  'Pacific Standard Time',\n            id:  10,\n            displayName:  '(UTC-08:00) Pacific Time (US \\u0026 Canada)'\n        },\n        {\n            offsetMinutes:  -420,\n            name:  'US Mountain Standard Time',\n            id:  11,\n            displayName:  '(UTC-07:00) Arizona'\n        },\n        {\n            offsetMinutes:  -420,\n            name:  'Mountain Standard Time (Mexico)',\n            id:  12,\n            displayName:  '(UTC-07:00) Chihuahua, La Paz, Mazatlan'\n        },\n        {\n            offsetMinutes:  -420,\n            name:  'Mountain Standard Time',\n            id:  13,\n            displayName:  '(UTC-07:00) Mountain Time (US \\u0026 Canada)'\n        },\n        {\n            offsetMinutes:  -360,\n            name:  'Central America Standard Time',\n            id:  14,\n            displayName:  '(UTC-06:00) Central America'\n        },\n        {\n            offsetMinutes:  -360,\n            name:  'Central Standard Time',\n            id:  15,\n            displayName:  '(UTC-06:00) Central Time (US \\u0026 Canada)'\n        },\n        {\n            offsetMinutes:  -360,\n            name:  'Easter Island Standard Time',\n            id:  16,\n            displayName:  '(UTC-06:00) Easter Island'\n        },\n        {\n            offsetMinutes:  -360,\n            name:  'Central Standard Time (Mexico)',\n            id:  17,\n            displayName:  '(UTC-06:00) Guadalajara, Mexico City, Monterrey'\n        },\n        {\n            offsetMinutes:  -360,\n            name:  'Canada Central Standard Time',\n            id:  18,\n            displayName:  '(UTC-06:00) Saskatchewan'\n        },\n        {\n            offsetMinutes:  -300,\n            name:  'SA Pacific Standard Time',\n            id:  19,\n            displayName:  '(UTC-05:00) Bogota, Lima, Quito, Rio Branco'\n        },\n        {\n            offsetMinutes:  -300,\n            name:  'Eastern Standard Time (Mexico)',\n            id:  20,\n            displayName:  '(UTC-05:00) Chetumal'\n        },\n        {\n            offsetMinutes:  -300,\n            name:  'Eastern Standard Time',\n            id:  21,\n            displayName:  '(UTC-05:00) Eastern Time (US \\u0026 Canada)'\n        },\n        {\n            offsetMinutes:  -300,\n            name:  'Haiti Standard Time',\n            id:  22,\n            displayName:  '(UTC-05:00) Haiti'\n        },\n        {\n            offsetMinutes:  -300,\n            name:  'Cuba Standard Time',\n            id:  23,\n            displayName:  '(UTC-05:00) Havana'\n        },\n        {\n            offsetMinutes:  -300,\n            name:  'US Eastern Standard Time',\n            id:  24,\n            displayName:  '(UTC-05:00) Indiana (East)'\n        },\n        {\n            offsetMinutes:  -300,\n            name:  'Turks And Caicos Standard Time',\n            id:  25,\n            displayName:  '(UTC-05:00) Turks and Caicos'\n        },\n        {\n            offsetMinutes:  -240,\n            name:  'Paraguay Standard Time',\n            id:  26,\n            displayName:  '(UTC-04:00) Asuncion'\n        },\n        {\n            offsetMinutes:  -240,\n            name:  'Atlantic Standard Time',\n            id:  27,\n            displayName:  '(UTC-04:00) Atlantic Time (Canada)'\n        },\n        {\n            offsetMinutes:  -240,\n            name:  'Venezuela Standard Time',\n            id:  28,\n            displayName:  '(UTC-04:00) Caracas'\n        },\n        {\n            offsetMinutes:  -240,\n            name:  'Central Brazilian Standard Time',\n            id:  29,\n            displayName:  '(UTC-04:00) Cuiaba'\n        },\n        {\n            offsetMinutes:  -240,\n            name:  'SA Western Standard Time',\n            id:  30,\n            displayName:  '(UTC-04:00) Georgetown, La Paz, Manaus, San Juan'\n        },\n        {\n            offsetMinutes:  -240,\n            name:  'Pacific SA Standard Time',\n            id:  31,\n            displayName:  '(UTC-04:00) Santiago'\n        },\n        {\n            offsetMinutes:  -210,\n            name:  'Newfoundland Standard Time',\n            id:  32,\n            displayName:  '(UTC-03:30) Newfoundland'\n        },\n        {\n            offsetMinutes:  -180,\n            name:  'Tocantins Standard Time',\n            id:  33,\n            displayName:  '(UTC-03:00) Araguaina'\n        },\n        {\n            offsetMinutes:  -180,\n            name:  'E. South America Standard Time',\n            id:  34,\n            displayName:  '(UTC-03:00) Brasilia'\n        },\n        {\n            offsetMinutes:  -180,\n            name:  'SA Eastern Standard Time',\n            id:  35,\n            displayName:  '(UTC-03:00) Cayenne, Fortaleza'\n        },\n        {\n            offsetMinutes:  -180,\n            name:  'Argentina Standard Time',\n            id:  36,\n            displayName:  '(UTC-03:00) City of Buenos Aires'\n        },\n        {\n            offsetMinutes:  -180,\n            name:  'Greenland Standard Time',\n            id:  37,\n            displayName:  '(UTC-03:00) Greenland'\n        },\n        {\n            offsetMinutes:  -180,\n            name:  'Montevideo Standard Time',\n            id:  38,\n            displayName:  '(UTC-03:00) Montevideo'\n        },\n        {\n            offsetMinutes:  -180,\n            name:  'Magallanes Standard Time',\n            id:  39,\n            displayName:  '(UTC-03:00) Punta Arenas'\n        },\n        {\n            offsetMinutes:  -180,\n            name:  'Saint Pierre Standard Time',\n            id:  40,\n            displayName:  '(UTC-03:00) Saint Pierre and Miquelon'\n        },\n        {\n            offsetMinutes:  -180,\n            name:  'Bahia Standard Time',\n            id:  41,\n            displayName:  '(UTC-03:00) Salvador'\n        },\n        {\n            offsetMinutes:  -120,\n            name:  'UTC-02',\n            id:  42,\n            displayName:  '(UTC-02:00) Coordinated Universal Time-02'\n        },\n        {\n            offsetMinutes:  -120,\n            name:  'Mid-Atlantic Standard Time',\n            id:  43,\n            displayName:  '(UTC-02:00) Mid-Atlantic - Old'\n        },\n        {\n            offsetMinutes:  -60,\n            name:  'Azores Standard Time',\n            id:  44,\n            displayName:  '(UTC-01:00) Azores'\n        },\n        {\n            offsetMinutes:  -60,\n            name:  'Cape Verde Standard Time',\n            id:  45,\n            displayName:  '(UTC-01:00) Cabo Verde Is.'\n        },\n        {\n            offsetMinutes:  0,\n            name:  'UTC',\n            id:  46,\n            displayName:  '(UTC) Coordinated Universal Time'\n        },\n        {\n            offsetMinutes:  0,\n            name:  'Morocco Standard Time',\n            id:  47,\n            displayName:  '(UTC+00:00) Casablanca'\n        },\n        {\n            offsetMinutes:  0,\n            name:  'GMT Standard Time',\n            id:  48,\n            displayName:  '(UTC+00:00) Dublin, Edinburgh, Lisbon, London'\n        },\n        {\n            offsetMinutes:  0,\n            name:  'Greenwich Standard Time',\n            id:  49,\n            displayName:  '(UTC+00:00) Monrovia, Reykjavik'\n        },\n        {\n            offsetMinutes:  60,\n            name:  'W. Europe Standard Time',\n            id:  50,\n            displayName:  '(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna'\n        },\n        {\n            offsetMinutes:  60,\n            name:  'Central Europe Standard Time',\n            id:  51,\n            displayName:  '(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague'\n        },\n        {\n            offsetMinutes:  60,\n            name:  'Romance Standard Time',\n            id:  52,\n            displayName:  '(UTC+01:00) Brussels, Copenhagen, Madrid, Paris'\n        },\n        {\n            offsetMinutes:  60,\n            name:  'Central European Standard Time',\n            id:  53,\n            displayName:  '(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb'\n        },\n        {\n            offsetMinutes:  60,\n            name:  'W. Central Africa Standard Time',\n            id:  54,\n            displayName:  '(UTC+01:00) West Central Africa'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'Jordan Standard Time',\n            id:  55,\n            displayName:  '(UTC+02:00) Amman'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'GTB Standard Time',\n            id:  56,\n            displayName:  '(UTC+02:00) Athens, Bucharest'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'Middle East Standard Time',\n            id:  57,\n            displayName:  '(UTC+02:00) Beirut'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'Egypt Standard Time',\n            id:  58,\n            displayName:  '(UTC+02:00) Cairo'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'E. Europe Standard Time',\n            id:  59,\n            displayName:  '(UTC+02:00) Chisinau'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'Syria Standard Time',\n            id:  60,\n            displayName:  '(UTC+02:00) Damascus'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'West Bank Standard Time',\n            id:  61,\n            displayName:  '(UTC+02:00) Gaza, Hebron'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'South Africa Standard Time',\n            id:  62,\n            displayName:  '(UTC+02:00) Harare, Pretoria'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'FLE Standard Time',\n            id:  63,\n            displayName:  '(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'Israel Standard Time',\n            id:  64,\n            displayName:  '(UTC+02:00) Jerusalem'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'Kaliningrad Standard Time',\n            id:  65,\n            displayName:  '(UTC+02:00) Kaliningrad'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'Sudan Standard Time',\n            id:  66,\n            displayName:  '(UTC+02:00) Khartoum'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'Libya Standard Time',\n            id:  67,\n            displayName:  '(UTC+02:00) Tripoli'\n        },\n        {\n            offsetMinutes:  120,\n            name:  'Namibia Standard Time',\n            id:  68,\n            displayName:  '(UTC+02:00) Windhoek'\n        },\n        {\n            offsetMinutes:  180,\n            name:  'Arabic Standard Time',\n            id:  69,\n            displayName:  '(UTC+03:00) Baghdad'\n        },\n        {\n            offsetMinutes:  180,\n            name:  'Turkey Standard Time',\n            id:  70,\n            displayName:  '(UTC+03:00) Istanbul'\n        },\n        {\n            offsetMinutes:  180,\n            name:  'Arab Standard Time',\n            id:  71,\n            displayName:  '(UTC+03:00) Kuwait, Riyadh'\n        },\n        {\n            offsetMinutes:  180,\n            name:  'Belarus Standard Time',\n            id:  72,\n            displayName:  '(UTC+03:00) Minsk'\n        },\n        {\n            offsetMinutes:  180,\n            name:  'Russian Standard Time',\n            id:  73,\n            displayName:  '(UTC+03:00) Moscow, St. Petersburg, Volgograd'\n        },\n        {\n            offsetMinutes:  180,\n            name:  'E. Africa Standard Time',\n            id:  74,\n            displayName:  '(UTC+03:00) Nairobi'\n        },\n        {\n            offsetMinutes:  210,\n            name:  'Iran Standard Time',\n            id:  75,\n            displayName:  '(UTC+03:30) Tehran'\n        },\n        {\n            offsetMinutes:  240,\n            name:  'Arabian Standard Time',\n            id:  76,\n            displayName:  '(UTC+04:00) Abu Dhabi, Muscat'\n        },\n        {\n            offsetMinutes:  240,\n            name:  'Astrakhan Standard Time',\n            id:  77,\n            displayName:  '(UTC+04:00) Astrakhan, Ulyanovsk'\n        },\n        {\n            offsetMinutes:  240,\n            name:  'Azerbaijan Standard Time',\n            id:  78,\n            displayName:  '(UTC+04:00) Baku'\n        },\n        {\n            offsetMinutes:  240,\n            name:  'Russia Time Zone 3',\n            id:  79,\n            displayName:  '(UTC+04:00) Izhevsk, Samara'\n        },\n        {\n            offsetMinutes:  240,\n            name:  'Mauritius Standard Time',\n            id:  80,\n            displayName:  '(UTC+04:00) Port Louis'\n        },\n        {\n            offsetMinutes:  240,\n            name:  'Saratov Standard Time',\n            id:  81,\n            displayName:  '(UTC+04:00) Saratov'\n        },\n        {\n            offsetMinutes:  240,\n            name:  'Georgian Standard Time',\n            id:  82,\n            displayName:  '(UTC+04:00) Tbilisi'\n        },\n        {\n            offsetMinutes:  240,\n            name:  'Caucasus Standard Time',\n            id:  83,\n            displayName:  '(UTC+04:00) Yerevan'\n        },\n        {\n            offsetMinutes:  270,\n            name:  'Afghanistan Standard Time',\n            id:  84,\n            displayName:  '(UTC+04:30) Kabul'\n        },\n        {\n            offsetMinutes:  300,\n            name:  'West Asia Standard Time',\n            id:  85,\n            displayName:  '(UTC+05:00) Ashgabat, Tashkent'\n        },\n        {\n            offsetMinutes:  300,\n            name:  'Ekaterinburg Standard Time',\n            id:  86,\n            displayName:  '(UTC+05:00) Ekaterinburg'\n        },\n        {\n            offsetMinutes:  300,\n            name:  'Pakistan Standard Time',\n            id:  87,\n            displayName:  '(UTC+05:00) Islamabad, Karachi'\n        },\n        {\n            offsetMinutes:  330,\n            name:  'India Standard Time',\n            id:  88,\n            displayName:  '(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi'\n        },\n        {\n            offsetMinutes:  330,\n            name:  'Sri Lanka Standard Time',\n            id:  89,\n            displayName:  '(UTC+05:30) Sri Jayawardenepura'\n        },\n        {\n            offsetMinutes:  345,\n            name:  'Nepal Standard Time',\n            id:  90,\n            displayName:  '(UTC+05:45) Kathmandu'\n        },\n        {\n            offsetMinutes:  360,\n            name:  'Central Asia Standard Time',\n            id:  91,\n            displayName:  '(UTC+06:00) Astana'\n        },\n        {\n            offsetMinutes:  360,\n            name:  'Bangladesh Standard Time',\n            id:  92,\n            displayName:  '(UTC+06:00) Dhaka'\n        },\n        {\n            offsetMinutes:  360,\n            name:  'Omsk Standard Time',\n            id:  93,\n            displayName:  '(UTC+06:00) Omsk'\n        },\n        {\n            offsetMinutes:  390,\n            name:  'Myanmar Standard Time',\n            id:  94,\n            displayName:  '(UTC+06:30) Yangon (Rangoon)'\n        },\n        {\n            offsetMinutes:  420,\n            name:  'SE Asia Standard Time',\n            id:  95,\n            displayName:  '(UTC+07:00) Bangkok, Hanoi, Jakarta'\n        },\n        {\n            offsetMinutes:  420,\n            name:  'Altai Standard Time',\n            id:  96,\n            displayName:  '(UTC+07:00) Barnaul, Gorno-Altaysk'\n        },\n        {\n            offsetMinutes:  420,\n            name:  'W. Mongolia Standard Time',\n            id:  97,\n            displayName:  '(UTC+07:00) Hovd'\n        },\n        {\n            offsetMinutes:  420,\n            name:  'North Asia Standard Time',\n            id:  98,\n            displayName:  '(UTC+07:00) Krasnoyarsk'\n        },\n        {\n            offsetMinutes:  420,\n            name:  'N. Central Asia Standard Time',\n            id:  99,\n            displayName:  '(UTC+07:00) Novosibirsk'\n        },\n        {\n            offsetMinutes:  420,\n            name:  'Tomsk Standard Time',\n            id:  100,\n            displayName:  '(UTC+07:00) Tomsk'\n        },\n        {\n            offsetMinutes:  480,\n            name:  'China Standard Time',\n            id:  101,\n            displayName:  '(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi'\n        },\n        {\n            offsetMinutes:  480,\n            name:  'North Asia East Standard Time',\n            id:  102,\n            displayName:  '(UTC+08:00) Irkutsk'\n        },\n        {\n            offsetMinutes:  480,\n            name:  'Singapore Standard Time',\n            id:  103,\n            displayName:  '(UTC+08:00) Kuala Lumpur, Singapore'\n        },\n        {\n            offsetMinutes:  480,\n            name:  'W. Australia Standard Time',\n            id:  104,\n            displayName:  '(UTC+08:00) Perth'\n        },\n        {\n            offsetMinutes:  480,\n            name:  'Taipei Standard Time',\n            id:  105,\n            displayName:  '(UTC+08:00) Taipei'\n        },\n        {\n            offsetMinutes:  480,\n            name:  'Ulaanbaatar Standard Time',\n            id:  106,\n            displayName:  '(UTC+08:00) Ulaanbaatar'\n        },\n        {\n            offsetMinutes:  510,\n            name:  'North Korea Standard Time',\n            id:  107,\n            displayName:  '(UTC+08:30) Pyongyang'\n        },\n        {\n            offsetMinutes:  525,\n            name:  'Aus Central W. Standard Time',\n            id:  108,\n            displayName:  '(UTC+08:45) Eucla'\n        },\n        {\n            offsetMinutes:  540,\n            name:  'Transbaikal Standard Time',\n            id:  109,\n            displayName:  '(UTC+09:00) Chita'\n        },\n        {\n            offsetMinutes:  540,\n            name:  'Tokyo Standard Time',\n            id:  110,\n            displayName:  '(UTC+09:00) Osaka, Sapporo, Tokyo'\n        },\n        {\n            offsetMinutes:  540,\n            name:  'Korea Standard Time',\n            id:  111,\n            displayName:  '(UTC+09:00) Seoul'\n        },\n        {\n            offsetMinutes:  540,\n            name:  'Yakutsk Standard Time',\n            id:  112,\n            displayName:  '(UTC+09:00) Yakutsk'\n        },\n        {\n            offsetMinutes:  570,\n            name:  'Cen. Australia Standard Time',\n            id:  113,\n            displayName:  '(UTC+09:30) Adelaide'\n        },\n        {\n            offsetMinutes:  570,\n            name:  'AUS Central Standard Time',\n            id:  114,\n            displayName:  '(UTC+09:30) Darwin'\n        },\n        {\n            offsetMinutes:  600,\n            name:  'E. Australia Standard Time',\n            id:  115,\n            displayName:  '(UTC+10:00) Brisbane'\n        },\n        {\n            offsetMinutes:  600,\n            name:  'AUS Eastern Standard Time',\n            id:  116,\n            displayName:  '(UTC+10:00) Canberra, Melbourne, Sydney'\n        },\n        {\n            offsetMinutes:  600,\n            name:  'West Pacific Standard Time',\n            id:  117,\n            displayName:  '(UTC+10:00) Guam, Port Moresby'\n        },\n        {\n            offsetMinutes:  600,\n            name:  'Tasmania Standard Time',\n            id:  118,\n            displayName:  '(UTC+10:00) Hobart'\n        },\n        {\n            offsetMinutes:  600,\n            name:  'Vladivostok Standard Time',\n            id:  119,\n            displayName:  '(UTC+10:00) Vladivostok'\n        },\n        {\n            offsetMinutes:  630,\n            name:  'Lord Howe Standard Time',\n            id:  120,\n            displayName:  '(UTC+10:30) Lord Howe Island'\n        },\n        {\n            offsetMinutes:  660,\n            name:  'Bougainville Standard Time',\n            id:  121,\n            displayName:  '(UTC+11:00) Bougainville Island'\n        },\n        {\n            offsetMinutes:  660,\n            name:  'Russia Time Zone 10',\n            id:  122,\n            displayName:  '(UTC+11:00) Chokurdakh'\n        },\n        {\n            offsetMinutes:  660,\n            name:  'Magadan Standard Time',\n            id:  123,\n            displayName:  '(UTC+11:00) Magadan'\n        },\n        {\n            offsetMinutes:  660,\n            name:  'Norfolk Standard Time',\n            id:  124,\n            displayName:  '(UTC+11:00) Norfolk Island'\n        },\n        {\n            offsetMinutes:  660,\n            name:  'Sakhalin Standard Time',\n            id:  125,\n            displayName:  '(UTC+11:00) Sakhalin'\n        },\n        {\n            offsetMinutes:  660,\n            name:  'Central Pacific Standard Time',\n            id:  126,\n            displayName:  '(UTC+11:00) Solomon Is., New Caledonia'\n        },\n        {\n            offsetMinutes:  720,\n            name:  'Russia Time Zone 11',\n            id:  127,\n            displayName:  '(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky'\n        },\n        {\n            offsetMinutes:  720,\n            name:  'New Zealand Standard Time',\n            id:  128,\n            displayName:  '(UTC+12:00) Auckland, Wellington'\n        },\n        {\n            offsetMinutes:  720,\n            name:  'UTC+12',\n            id:  129,\n            displayName:  '(UTC+12:00) Coordinated Universal Time+12'\n        },\n        {\n            offsetMinutes:  720,\n            name:  'Fiji Standard Time',\n            id:  130,\n            displayName:  '(UTC+12:00) Fiji'\n        },\n        {\n            offsetMinutes:  720,\n            name:  'Kamchatka Standard Time',\n            id:  131,\n            displayName:  '(UTC+12:00) Petropavlovsk-Kamchatsky - Old'\n        },\n        {\n            offsetMinutes:  765,\n            name:  'Chatham Islands Standard Time',\n            id:  132,\n            displayName:  '(UTC+12:45) Chatham Islands'\n        },\n        {\n            offsetMinutes:  780,\n            name:  'UTC+13',\n            id:  133,\n            displayName:  '(UTC+13:00) Coordinated Universal Time+13'\n        },\n        {\n            offsetMinutes:  780,\n            name:  'Tonga Standard Time',\n            id:  134,\n            displayName:  '(UTC+13:00) Nuku\\u0027alofa'\n        },\n        {\n            offsetMinutes:  780,\n            name:  'Samoa Standard Time',\n            id:  135,\n            displayName:  '(UTC+13:00) Samoa'\n        },\n        {\n            offsetMinutes:  840,\n            name:  'Line Islands Standard Time',\n            id:  136,\n            displayName:  '(UTC+14:00) Kiritimati Island'\n        }\n    ];\n}\n"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/components/WorldClock.module.scss",
    "content": "@import '~@microsoft/sp-office-ui-fabric-core/dist/sass/SPFabricCore.scss';\n\n.worldTime {\n  .container {\n    max-width: 700px;\n    margin: 0px auto;\n  }\n\n  .description {\n    @include ms-font-l;\n    color: $ms-color-black;\n    text-align: center;\n    margin-bottom: 20px;\n  }\n}\n"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/components/WorldClock.tsx",
    "content": "import * as React from 'react';\nimport styles from './WorldClock.module.scss';\nimport { IWorldClockProps } from './IWorldClockProps';\n\n// import strings from localized resources\nimport * as strings from 'WorldClockWebPartStrings';\n\n// import additional controls/components\nimport { Clock } from './Clock';\nimport * as timeZones from './Timezones';\n\nexport default class WorldClock extends React.Component < IWorldClockProps, {} > {\n\n  public render(): React.ReactElement<IWorldClockProps> {\n    return (\n      <div className={styles.worldTime}>\n        <div className={styles.container}>\n          <div className={styles.description}>{(this.props.description) ? this.props.description : strings.LocalTimeDescription}</div>\n          <Clock timeZoneOffset={this.convertTimeZoneIdToOffset(this.props.timeZoneOffset)} />\n        </div>\n      </div>\n    );\n  }\n\n  // this method determines the minutes offset of the selected time zone\n  private convertTimeZoneIdToOffset(id: number): number {\n  \n    let result: number = 0;\n\n    const matchingItems: timeZones.ITimeZone[] = timeZones.TimeZones.zones.filter((e: timeZones.ITimeZone, i: number) => {\n      return(e.id === id);\n    });\n\n    if (matchingItems && matchingItems.length > 0) {\n      result = matchingItems[0].offsetMinutes;\n    }\n\n    return(result);\n  }\n}\n"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/loc/en-us.js",
    "content": "define([], function() {\n  return {\n    \"PropertyPaneDescription\": \"World Time\",\n    \"BasicGroupName\": \"General Settings\",\n    \"DescriptionFieldLabel\": \"Description\",\n    \"TimeZoneOffsetFieldLabel\": \"Time Zone\",\n\n    \"PlaceholderIconName\":\"Edit\",\n    \"PlaceholderIconText\":\"Configure your web part\",\n    \"PlaceholderDescription\":\"Please configure the web part.\",\n    \"PlaceholderButtonLabel\":\"Configure\",\n\n    \"LocalTimeDescription\": \"UTC Time\"\n  }\n});"
  },
  {
    "path": "source/react-world-clock/src/webparts/worldClock/loc/mystrings.d.ts",
    "content": "declare interface IWorldClockWebPartStrings {\n\n  // Property Pane labels and strings\n  PropertyPaneDescription: string;\n  BasicGroupName: string;\n  DescriptionFieldLabel: string;\n  TimeZoneOffsetFieldLabel: string;\n\n  // Placeholder labels and strings\n  PlaceholderIconName: string;\n  PlaceholderIconText: string;\n  PlaceholderDescription: string;\n  PlaceholderButtonLabel: string;\n\n  // Default strings for UI\n  LocalTimeDescription: string;\n}\n\ndeclare module 'WorldClockWebPartStrings' {\n  const strings: IWorldClockWebPartStrings;\n  export = strings;\n}\n"
  },
  {
    "path": "source/react-world-clock/tsconfig.json",
    "content": "{\n  \"extends\": \"./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json\",\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"forceConsistentCasingInFileNames\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"jsx\": \"react\",\n    \"declaration\": true,\n    \"sourceMap\": true,\n    \"experimentalDecorators\": true,\n    \"skipLibCheck\": true,\n    \"outDir\": \"lib\",\n    \"inlineSources\": false,\n    \"strictNullChecks\": false,\n    \"noImplicitAny\": true,\n\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"./node_modules/@microsoft\"\n    ],\n    \"types\": [\n      \"webpack-env\"\n    ],\n    \"lib\": [\n      \"es5\",\n      \"dom\",\n      \"es2015.collection\",\n      \"es2015.promise\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\"\n  ]\n}\n"
  },
  {
    "path": "source/templates/resources/collabcommunicationsite.json",
    "content": "{\n    \"$schema\": \"schema.json\",\n    \"actions\": [\n        {\n            \"verb\": \"associateExtension\",\n            \"title\": \"Portal Footer\",\n            \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n            \"clientSideComponentId\": \"df889434-1b1c-4f5b-ada3-086d948e4270\",\n            \"clientSideComponentProperties\": \"{\\\"linksListTitle\\\": \\\"PnP-PortalFooter-Links\\\", \\\"copyright\\\": \\\"(c) Copyright {parameter:Company}, 2018\\\", \\\"support\\\": \\\"support@contoso.com\\\", \\\"personalItemsStorageProperty\\\": \\\"PnP-CollabFooter-MyLinks\\\"}\",\n            \"scope\": \"Site\"\n        }\n    ],\n    \"bindata\": {},\n    \"version\": 1\n}"
  },
  {
    "path": "source/templates/resources/collabteamsite.json",
    "content": "{\n    \"$schema\": \"schema.json\",\n    \"actions\": [\n        {\n            \"verb\": \"associateExtension\",\n            \"title\": \"Collab Footer\",\n            \"location\": \"ClientSideExtension.ApplicationCustomizer\",\n            \"clientSideComponentId\": \"6638da67-06f4-4f55-a1df-485d568e8b72\",\n            \"clientSideComponentProperties\": \"{\\\"sourceTermSet\\\":\\\"PnP-CollabFooter-SharedLinks\\\",\\\"personalItemsStorageProperty\\\":\\\"PnP-CollabFooter-MyLinks\\\"}\",\n            \"scope\": \"Site\"\n        }\n    ],\n    \"bindata\": {},\n    \"version\": 1\n}"
  },
  {
    "path": "source/templates/resources/resources-core.de-de.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"EventsListTitle\" xml:space=\"preserve\">\n    <value>Ereignisse</value>\n  </data>\n  <data name=\"SharedDocumentsFolder\" xml:space=\"preserve\">\n    <value>Freigegebene Dokumente</value>\n  </data>\n</root>"
  },
  {
    "path": "source/templates/resources/resources-core.en-us.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"EventsListTitle\" xml:space=\"preserve\">\n    <value>Events</value>\n  </data>\n  <data name=\"SharedDocumentsFolder\" xml:space=\"preserve\">\n    <value>Shared Documents</value>\n  </data>\n</root>"
  },
  {
    "path": "source/templates/resources/resources-core.es-es.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"EventsListTitle\" xml:space=\"preserve\">\n    <value>Eventos</value>\n  </data>\n  <data name=\"SharedDocumentsFolder\" xml:space=\"preserve\">\n    <value>Documentos compartidos</value>\n  </data>\n</root>"
  },
  {
    "path": "source/templates/resources/resources-core.fr-fr.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"EventsListTitle\" xml:space=\"preserve\">\n    <value>Événements</value>\n  </data>\n  <data name=\"SharedDocumentsFolder\" xml:space=\"preserve\">\n    <value>Documents partages</value>\n  </data>\n</root>"
  },
  {
    "path": "source/templates/resources/resources-core.nb-no.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"EventsListTitle\" xml:space=\"preserve\">\n    <value>Hendelser</value>\n  </data>\n  <data name=\"SharedDocumentsFolder\" xml:space=\"preserve\">\n    <value>Delte dokumenter</value>\n  </data>\n</root>"
  },
  {
    "path": "source/templates/resources/resources-core.nl-nl.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"EventsListTitle\" xml:space=\"preserve\">\n    <value>Gebeurtenissen</value>\n  </data>\n  <data name=\"SharedDocumentsFolder\" xml:space=\"preserve\">\n    <value>Gedeelde documenten</value>\n  </data>\n</root>"
  },
  {
    "path": "source/templates/resources/resources-core.sv-se.resx",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"EventsListTitle\" xml:space=\"preserve\">\n    <value>Händelser</value>\n  </data>\n  <data name=\"SharedDocumentsFolder\" xml:space=\"preserve\">\n    <value>Delade dokument</value>\n  </data>\n</root>"
  },
  {
    "path": "source/templates/resources/resources-core.tr-tr.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"EventsListTitle\" xml:space=\"preserve\">\n    <value>Etkinlikler</value>\n  </data>\n  <data name=\"SharedDocumentsFolder\" xml:space=\"preserve\">\n    <value>Paylaşılan dokümanlar</value>\n  </data>\n</root>"
  },
  {
    "path": "source/templates/starterkit-spfx-only.xml",
    "content": "﻿<?xml version=\"1.0\"?>\n<pnp:Provisioning xmlns:pnp=\"http://schemas.dev.office.com/PnP/2020/02/ProvisioningSchema\" Author=\"SharePoint PnP\" Generator=\"SharePoint PnP\" Version=\"2.0\" Description=\"SharePoint Starter Kit for SharePoint Online\" DisplayName=\"SharePoint Starter Kit\" ImagePreviewUrl=\"https://raw.githubusercontent.com/SharePoint/sp-dev-provisioning-templates/master/tenant/SP-Starter-Kit/sp-starter-kit-front-page-16x9.png\">\n  <pnp:Preferences Generator=\"SharePoint PnP\">\n    <pnp:Parameters>\n      <pnp:Parameter Key=\"lcid\">1033</pnp:Parameter>\n    </pnp:Parameters>\n  </pnp:Preferences>\n  <pnp:Localizations>\n    <pnp:Localization LCID=\"1033\" Name=\"core\" ResourceFile=\"resources\\resources-core.en-us.resx\" />\n    <pnp:Localization LCID=\"3082\" Name=\"core\" ResourceFile=\"resources\\resources-core.es-es.resx\" />\n    <pnp:Localization LCID=\"1036\" Name=\"core\" ResourceFile=\"resources\\resources-core.fr-fr.resx\" />\n    <pnp:Localization LCID=\"1031\" Name=\"core\" ResourceFile=\"resources\\resources-core.de-de.resx\" />\n    <pnp:Localization LCID=\"1043\" Name=\"core\" ResourceFile=\"resources\\resources-core.nl-nl.resx\" />\n    <pnp:Localization LCID=\"1044\" Name=\"core\" ResourceFile=\"resources\\resources-core.nb-no.resx\" />\n    <pnp:Localization LCID=\"1053\" Name=\"core\" ResourceFile=\"resources\\resources-core.sv-se.resx\" />\n    <pnp:Localization LCID=\"1055\" Name=\"core\" ResourceFile=\"resources\\resources-core.tr-tr.resx\" />\n  </pnp:Localizations>\n  <pnp:Tenant>\n    <pnp:WebApiPermissions>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Sites.Read.All\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Contacts.Read\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"User.Read.All\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Mail.Read\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Calendars.ReadWrite\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Group.ReadWrite.All\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"MailboxSettings.Read\"/>      \n    </pnp:WebApiPermissions>\n    \n    \n    <pnp:AppCatalog>\n      <!--MGT SPFx-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\mgt-spfx\\mgt-spfx-v2.9.0.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\library-starter-kit-shared\\sharepoint\\solution\\library-starter-kit-shared.sppkg\" SkipFeatureDeployment=\"true\"/>\n\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-banner\\sharepoint\\solution\\react-banner.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-followed-sites\\sharepoint\\solution\\react-followed-sites.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-links\\sharepoint\\solution\\react-links.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-lob-integration\\sharepoint\\solution\\react-lob-integration.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-people-directory\\sharepoint\\solution\\react-people-directory.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--MailboxSettings.Read, Calendars.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-personal-calendar\\sharepoint\\solution\\react-personal-calendar.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Contacts.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-personal-contacts\\sharepoint\\solution\\react-personal-contacts.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Mail.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-personal-email\\sharepoint\\solution\\react-personal-email.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Group.ReadWrite.All, Tasks.ReadWrite, People.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-personal-tasks\\sharepoint\\solution\\react-personal-tasks.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--People.Read, User.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-recent-contacts\\sharepoint\\solution\\react-recent-contacts.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Sites.Read.All-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-recently-used-documents\\sharepoint\\solution\\react-recently-used-documents.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Sites.Read.All-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-recently-visited-sites\\sharepoint\\solution\\react-recently-visited-sites.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-site-information\\sharepoint\\solution\\react-site-information.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-tiles\\sharepoint\\solution\\react-tiles.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-weather\\sharepoint\\solution\\react-weather.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-world-clock\\sharepoint\\solution\\react-world-clock.sppkg\" SkipFeatureDeployment=\"true\"/>\n\n      <!--extensions-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-application-collab-footer\\sharepoint\\solution\\react-application-collab-footer.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-application-portal-footer\\sharepoint\\solution\\react-application-portal-footer.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\js-application-redirect\\sharepoint\\solution\\js-application-redirect.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-application-alerts\\sharepoint\\solution\\react-application-alerts.sppkg\" SkipFeatureDeployment=\"true\"/>\n\n      <!--Group.ReadWrite.All-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-command-discuss-now\\sharepoint\\solution\\react-command-discuss-now.sppkg\" SkipFeatureDeployment=\"true\"/>\n\n      <!--depricated-->\n      <!--site information (classification banner header)-->\n\n    </pnp:AppCatalog>\n  </pnp:Tenant>\n</pnp:Provisioning>"
  },
  {
    "path": "source/templates/starterkit.xml",
    "content": "﻿<?xml version=\"1.0\"?>\n<pnp:Provisioning xmlns:pnp=\"http://schemas.dev.office.com/PnP/2021/03/ProvisioningSchema\" Author=\"SharePoint PnP\" Generator=\"SharePoint PnP\" Version=\"2.0\" Description=\"SharePoint Starter Kit for SharePoint Online\" DisplayName=\"SharePoint Starter Kit\" ImagePreviewUrl=\"https://raw.githubusercontent.com/SharePoint/sp-dev-provisioning-templates/master/tenant/SP-Starter-Kit/sp-starter-kit-front-page-16x9.png\">\n  <pnp:Preferences Generator=\"SharePoint PnP\">\n    <pnp:Parameters>\n      <pnp:Parameter Key=\"Company\">Contoso Electronics</pnp:Parameter>\n      <pnp:Parameter Key=\"PORTALURL\">/sites/contosoportal</pnp:Parameter>\n      <pnp:Parameter Key=\"MARKETINGALIAS\">contosomarketing</pnp:Parameter>\n      <pnp:Parameter Key=\"HRALIAS\">contosohr</pnp:Parameter>\n      <pnp:Parameter Key=\"StockSymbol\">MSFT</pnp:Parameter>\n      <pnp:Parameter Key=\"lcid\">1033</pnp:Parameter>\n    </pnp:Parameters>\n  </pnp:Preferences>\n  <pnp:Localizations>\n    <pnp:Localization LCID=\"1033\" Name=\"core\" ResourceFile=\"resources\\resources-core.en-US.resx\" />\n    <pnp:Localization LCID=\"3082\" Name=\"core\" ResourceFile=\"resources\\resources-core.es-ES.resx\" />\n    <pnp:Localization LCID=\"1036\" Name=\"core\" ResourceFile=\"resources\\resources-core.fr-FR.resx\" />\n    <pnp:Localization LCID=\"1031\" Name=\"core\" ResourceFile=\"resources\\resources-core.de-DE.resx\" />\n    <pnp:Localization LCID=\"1043\" Name=\"core\" ResourceFile=\"resources\\resources-core.nl-NL.resx\" />\n    <pnp:Localization LCID=\"1044\" Name=\"core\" ResourceFile=\"resources\\resources-core.nb-NO.resx\" />\n    <pnp:Localization LCID=\"1053\" Name=\"core\" ResourceFile=\"resources\\resources-core.sv-SE.resx\" />\n    <pnp:Localization LCID=\"1055\" Name=\"core\" ResourceFile=\"resources\\resources-core.tr-TR.resx\" />\n  </pnp:Localizations>\n  <pnp:Tenant>\n    <pnp:WebApiPermissions>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Sites.Read.All\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Contacts.Read\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"User.Read.All\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Mail.Read\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Calendars.ReadWrite\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Group.ReadWrite.All\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"MailboxSettings.Read\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"Tasks.ReadWrite\"/>\n      <pnp:WebApiPermission Resource=\"Microsoft Graph\" Scope=\"People.Read\"/>\n    </pnp:WebApiPermissions>\n    \n    <pnp:AppCatalog>\n      <!--MGT SPFx-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\mgt-spfx\\mgt-spfx-v2.9.0.sppkg\" SkipFeatureDeployment=\"true\"/>\n\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\library-starter-kit-shared\\sharepoint\\solution\\library-starter-kit-shared.sppkg\" SkipFeatureDeployment=\"true\"/>\n\n      <!--General SPFx webparts-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-banner\\sharepoint\\solution\\react-banner.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-followed-sites\\sharepoint\\solution\\react-followed-sites.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-links\\sharepoint\\solution\\react-links.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-lob-integration\\sharepoint\\solution\\react-lob-integration.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-people-directory\\sharepoint\\solution\\react-people-directory.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--MailboxSettings.Read, Calendars.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-personal-calendar\\sharepoint\\solution\\react-personal-calendar.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Contacts.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-personal-contacts\\sharepoint\\solution\\react-personal-contacts.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Mail.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-personal-email\\sharepoint\\solution\\react-personal-email.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Group.ReadWrite.All, Tasks.ReadWrite, People.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-personal-tasks\\sharepoint\\solution\\react-personal-tasks.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--People.Read, User.Read-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-recent-contacts\\sharepoint\\solution\\react-recent-contacts.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Sites.Read.All-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-recently-used-documents\\sharepoint\\solution\\react-recently-used-documents.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <!--Sites.Read.All-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-recently-visited-sites\\sharepoint\\solution\\react-recently-visited-sites.sppkg\" SkipFeatureDeployment=\"true\"/>\n      \n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-site-information\\sharepoint\\solution\\react-site-information.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-tiles\\sharepoint\\solution\\react-tiles.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-weather\\sharepoint\\solution\\react-weather.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-world-clock\\sharepoint\\solution\\react-world-clock.sppkg\" SkipFeatureDeployment=\"true\"/>\n\n      <!--extensions-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-application-collab-footer\\sharepoint\\solution\\react-application-collab-footer.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-application-portal-footer\\sharepoint\\solution\\react-application-portal-footer.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\js-application-redirect\\sharepoint\\solution\\js-application-redirect.sppkg\" SkipFeatureDeployment=\"true\"/>\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-application-alerts\\sharepoint\\solution\\react-application-alerts.sppkg\" SkipFeatureDeployment=\"true\"/>\n\n      <!--Group.ReadWrite.All-->\n      <pnp:Package Action=\"UploadAndPublish\" Overwrite=\"true\" Src=\"..\\react-command-discuss-now\\sharepoint\\solution\\react-command-discuss-now.sppkg\" SkipFeatureDeployment=\"true\"/>\n\n      <!--depricated-->\n      <!--site information (classification banner header)-->\n\n    </pnp:AppCatalog>\n    \n    <pnp:SiteScripts>\n      <pnp:SiteScript JsonFilePath=\"resources\\collabteamsite.json\" Overwrite=\"true\" Title=\"{parameter:Company} Team Site\" Description=\"\"/>\n      <pnp:SiteScript JsonFilePath=\"resources\\collabcommunicationsite.json\" Overwrite=\"true\" Title=\"{parameter:Company} Communication Site\" Description=\"\"/>\n    </pnp:SiteScripts>\n    <pnp:SiteDesigns>\n      <pnp:SiteDesign Title=\"{parameter:Company} Team Site\" WebTemplate=\"TeamSite\">\n        <pnp:SiteScripts>\n          <pnp:SiteScriptRef ID=\"{SiteScriptId:{parameter:Company} Team Site}\" />\n        </pnp:SiteScripts>\n      </pnp:SiteDesign>\n      <pnp:SiteDesign Title=\"{parameter:Company} Communication Site\" WebTemplate=\"CommunicationSite\">\n        <pnp:SiteScripts>\n          <pnp:SiteScriptRef ID=\"{SiteScriptId:{parameter:Company} Communication Site}\" />\n        </pnp:SiteScripts>\n      </pnp:SiteDesign>\n    </pnp:SiteDesigns>\n  </pnp:Tenant>\n\n  <pnp:Sequence ID=\"sp-starter-kit-sequence\">\n    <pnp:SiteCollections>\n      <pnp:SiteCollection xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"pnp:CommunicationSite\"\n                          ProvisioningId=\"PORTAL\"\n                          Url=\"{parameter:PORTALURL}\"\n                          Owner=\"{CurrentUserLoginName}\"\n                          Title=\"{parameter:Company}\"\n                          Description=\"Company communication hub site\"\n                          IsHubSite=\"true\"\n                          SiteDesign=\"Topic\">\n        <pnp:Templates>\n          <pnp:ProvisioningTemplateReference ID=\"ROOT-TEMPLATE\"/>\n          <pnp:ProvisioningTemplateReference ID=\"PORTALFOOTERLINKS-TEMPLATE\"/>\n          <pnp:ProvisioningTemplateReference ID=\"STARTERKIT-THEME\" />\n        </pnp:Templates>\n      </pnp:SiteCollection>\n      <pnp:SiteCollection xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"pnp:TeamSite\"\n                          ProvisioningId=\"HR\"\n                          Alias=\"{parameter:HRALIAS}\"  \n                          DisplayName =\"{parameter:HRALIAS}\"\n                          IsPublic=\"false\"\n                          Title =\"Human Resources\"\n                          Description=\"Human Resouces team site\">\n        <pnp:Templates>\n          <pnp:ProvisioningTemplateReference ID=\"COLLAB-TEMPLATE\"/>\n          <pnp:ProvisioningTemplateReference ID=\"COLLAB-HR-LOGO-TEMPLATE\"/>\n          <pnp:ProvisioningTemplateReference ID=\"STARTERKIT-THEME\" />\n        </pnp:Templates>\n      </pnp:SiteCollection>\n      <pnp:SiteCollection xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"pnp:TeamSite\"\n                          ProvisioningId=\"MARKETING\"\n                          Alias=\"{parameter:MARKETINGALIAS}\"\n                          DisplayName =\"{parameter:MARKETINGALIAS}\"\n                          IsPublic=\"false\"\n                          Title =\"Marketing\"\n                          Description=\"Marketing team site\">\n        <pnp:Templates>\n          <pnp:ProvisioningTemplateReference ID=\"COLLAB-TEMPLATE\"/>\n          <pnp:ProvisioningTemplateReference ID=\"COLLAB-MARKETING-LOGO-TEMPLATE\"/>\n          <pnp:ProvisioningTemplateReference ID=\"STARTERKIT-MARKETING-THEME\" />\n        </pnp:Templates>\n      </pnp:SiteCollection>\n    </pnp:SiteCollections>\n\n    <pnp:TermStore>\n      <pnp:TermGroup Name=\"PnPTermSets\" ID=\"0e8f395e-ff58-4d45-9ff7-e331ab728beb\" Description=\"\" UpdateBehavior=\"Overwrite\">\n        <pnp:TermSets>\n          <pnp:TermSet Name=\"PnP-CollabFooter-SharedLinks\" ID=\"7a167c47-2b37-41d0-94d0-e962c1a4f2ed\" Description=\"\">\n            <pnp:CustomProperties>\n              <pnp:Property Key=\"_Sys_Nav_IsNavigationTermSet\" Value=\"True\" />\n            </pnp:CustomProperties>\n            <pnp:Terms>\n              <pnp:Term Name=\"Contacts\" ID=\"a359ee29-cf72-4235-a4ef-1ed96bf4eaea\" Description=\"\" SourceTermId=\"a359ee29-cf72-4235-a4ef-1ed96bf4eaea\">\n                <pnp:Terms />\n                <pnp:LocalCustomProperties>\n                  <pnp:Property Key=\"_Sys_Nav_SimpleLinkUrl\" Value=\"https://intranet.contoso.com/Contacts\" />\n                  <pnp:Property Key=\"PnP-CollabFooter-Icon\" Value=\"EditMail\" />\n                </pnp:LocalCustomProperties>\n              </pnp:Term>\n              <pnp:Term Name=\"Legal Policies\" ID=\"60d165e6-8cb1-4c20-8fad-80067c4ca767\" Description=\"\" SourceTermId=\"60d165e6-8cb1-4c20-8fad-80067c4ca767\">\n                <pnp:Terms />\n                <pnp:LocalCustomProperties>\n                  <pnp:Property Key=\"_Sys_Nav_SimpleLinkUrl\" Value=\"https://intranet.contoso.com/LegalPolicies\" />\n                  <pnp:Property Key=\"PnP-CollabFooter-Icon\" Value=\"Lock\" />\n                </pnp:LocalCustomProperties>\n              </pnp:Term>\n              <pnp:Term Name=\"Tools\" ID=\"da7bfb84-008b-48ff-b61f-bfe40da2602f\" Description=\"\" SourceTermId=\"da7bfb84-008b-48ff-b61f-bfe40da2602f\">\n                <pnp:Terms>\n                  <pnp:Term Name=\"Expense Reports\" ID=\"30f4c129-6886-406c-911a-1395250d690f\" Description=\"\" SourceTermId=\"30f4c129-6886-406c-911a-1395250d690f\">\n                    <pnp:Terms />\n                    <pnp:LocalCustomProperties>\n                      <pnp:Property Key=\"_Sys_Nav_SimpleLinkUrl\" Value=\"https://downloads.contoso.com/ExpenseReports\" />\n                    </pnp:LocalCustomProperties>\n                  </pnp:Term>\n                  <pnp:Term Name=\"Time Reports\" ID=\"bef5028a-1dff-43b7-b57d-2aefd3f7b814\" Description=\"\" SourceTermId=\"bef5028a-1dff-43b7-b57d-2aefd3f7b814\">\n                    <pnp:Terms />\n                    <pnp:LocalCustomProperties>\n                      <pnp:Property Key=\"_Sys_Nav_SimpleLinkUrl\" Value=\"https://downloads.contoso.com/TimeReports\" />\n                    </pnp:LocalCustomProperties>\n                  </pnp:Term>\n                  <pnp:Term Name=\"WebMail\" ID=\"269c23e2-f34e-438a-adf0-22d11e064de5\" Description=\"\" SourceTermId=\"269c23e2-f34e-438a-adf0-22d11e064de5\">\n                    <pnp:Terms />\n                    <pnp:LocalCustomProperties>\n                      <pnp:Property Key=\"_Sys_Nav_SimpleLinkUrl\" Value=\"https://mail.office365.com/\" />\n                    </pnp:LocalCustomProperties>\n                  </pnp:Term>\n                </pnp:Terms>\n                <pnp:LocalCustomProperties>\n                  <pnp:Property Key=\"PnP-CollabFooter-Icon\" Value=\"DeveloperTools\" />\n                </pnp:LocalCustomProperties>\n              </pnp:Term>\n            </pnp:Terms>\n          </pnp:TermSet>\n          <pnp:TermSet Name=\"PnP-Organizations\" ID=\"1479e26c-1380-41a8-9183-72bc5a9651bb\" Description=\"\">\n            <pnp:Terms>\n              <pnp:Term Name=\"HR\" ID=\"02cf219e-8ce9-4e85-ac04-a913a44a5d2b\" Description=\"\" SourceTermId=\"02cf219e-8ce9-4e85-ac04-a913a44a5d2b\">\n              </pnp:Term>\n              <pnp:Term Name=\"IT\" ID=\"247543b6-45f2-4232-b9e8-66c5bf53c31e\" Description=\"\" SourceTermId=\"247543b6-45f2-4232-b9e8-66c5bf53c31e\">\n              </pnp:Term>\n              <pnp:Term Name=\"Leadership\" ID=\"ffc3608f-1250-4d28-b388-381fad8d4602\" Description=\"\" SourceTermId=\"ffc3608f-1250-4d28-b388-381fad8d4602\">\n              </pnp:Term>\n            </pnp:Terms>\n          </pnp:TermSet>\n        </pnp:TermSets>\n      </pnp:TermGroup>\n    </pnp:TermStore>\n\n  </pnp:Sequence>\n\n  <pnp:Templates ID=\"SP-STARTER-KIT_TEMPLATES\">\n    <pnp:ProvisioningTemplate ID=\"PORTALFOOTERLINKS-TEMPLATE\" Version=\"1\" BaseSiteTemplate=\"SITEPAGEPUBLISHING#0\" Scope=\"RootSite\">\n      <pnp:SiteFields>\n        <Field Type=\"Choice\" DisplayName=\"Link Group\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" Format=\"Dropdown\" FillInChoice=\"TRUE\" Group=\"PnP Columns\" ID=\"{f5b23751-56d4-4ec3-adf2-7b080d834f74}\" SourceID=\"{88a250c5-31b2-4d64-b047-482e2a6e5e7a}\" StaticName=\"PnPPortalLinkGroup\" Name=\"PnPPortalLinkGroup\" CustomFormatter=\"\">\n          <CHOICES>\n            <CHOICE>Main Links</CHOICE>\n          </CHOICES>\n        </Field>\n        <Field Type=\"URL\" DisplayName=\"Link URL\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" Format=\"Hyperlink\" Group=\"PnP Columns\" ID=\"{c10389a0-8b29-4866-951f-3ad8e138db03}\" SourceID=\"{88a250c5-31b2-4d64-b047-482e2a6e5e7a}\" StaticName=\"PnPPortalLinkUrl\" Name=\"PnPPortalLinkUrl\" CustomFormatter=\"\">\n        </Field>\n      </pnp:SiteFields>\n      <pnp:ContentTypes>\n        <pnp:ContentType ID=\"0x0100580DB2292968A34EA3748511017A6DD2\" Name=\"PnPPortalLink\" Description=\"\" Group=\"PnP Content Types\" NewFormUrl=\"\" EditFormUrl=\"\" DisplayFormUrl=\"\">\n          <pnp:FieldRefs>\n            <pnp:FieldRef ID=\"c042a256-787d-4a6f-8a8a-cf6ab767f12d\" Name=\"ContentType\" />\n            <pnp:FieldRef ID=\"fa564e0f-0c70-4ab9-b863-0177e6ddd247\" Name=\"Title\" Required=\"true\" />\n            <pnp:FieldRef ID=\"c10389a0-8b29-4866-951f-3ad8e138db03\" Name=\"PnPPortalLinkUrl\" />\n            <pnp:FieldRef ID=\"f5b23751-56d4-4ec3-adf2-7b080d834f74\" Name=\"PnPPortalLinkGroup\" />\n          </pnp:FieldRefs>\n        </pnp:ContentType>\n      </pnp:ContentTypes>\n      <pnp:Lists>\n        <pnp:ListInstance Title=\"PnP-PortalFooter-Links\" Description=\"\" DocumentTemplate=\"\" OnQuickLaunch=\"false\" TemplateType=\"100\" Url=\"Lists/PnPPortalFooterLinks\" MinorVersionLimit=\"0\" MaxVersionLimit=\"0\" DraftVersionVisibility=\"0\" TemplateFeatureID=\"00bfea71-de22-43b2-a848-c05709900100\" ContentTypesEnabled=\"true\" EnableFolderCreation=\"false\" DefaultDisplayFormUrl=\"{site}/Lists/PnPPortalFooterLinks/DispForm.aspx\" DefaultEditFormUrl=\"{site}/Lists/PnPPortalFooterLinks/EditForm.aspx\" DefaultNewFormUrl=\"{site}/Lists/PnPPortalFooterLinks/NewForm.aspx\" ImageUrl=\"/_layouts/15/images/itgen.png?rev=44\" IsApplicationList=\"false\" WriteSecurity=\"0\" ValidationFormula=\"\" ValidationMessage=\"\">\n          <pnp:ContentTypeBindings>\n            <pnp:ContentTypeBinding ContentTypeID=\"0x0100580DB2292968A34EA3748511017A6DD2\" Default=\"true\" />\n            <pnp:ContentTypeBinding ContentTypeID=\"0x0120\" />\n          </pnp:ContentTypeBindings>\n          <pnp:Views>\n            <View Name=\"{CB35127E-6619-49AA-85E1-D46BBFB04A06}\" DefaultView=\"TRUE\" MobileView=\"TRUE\" MobileDefaultView=\"TRUE\" Type=\"HTML\" DisplayName=\"All Items\" Url=\"/sites/temp2017052301/Lists/PnPPortalFooterLinks/AllItems.aspx\" Level=\"1\" BaseViewID=\"1\" ContentTypeID=\"0x\" ImageUrl=\"/_layouts/15/images/generic.png?rev=44\">\n              <Query>\n                <GroupBy Collapse=\"TRUE\" GroupLimit=\"30\">\n                  <FieldRef Name=\"PnPPortalLinkGroup\" />\n                </GroupBy>\n                <OrderBy>\n                  <FieldRef Name=\"ID\" />\n                </OrderBy>\n              </Query>\n              <ViewFields>\n                <FieldRef Name=\"LinkTitle\" />\n                <FieldRef Name=\"PnPPortalLinkGroup\" />\n                <FieldRef Name=\"PnPPortalLinkUrl\" />\n              </ViewFields>\n              <RowLimit Paged=\"TRUE\">30</RowLimit>\n              <Aggregations Value=\"Off\" />\n              <JSLink>clienttemplates.js</JSLink>\n            </View>\n          </pnp:Views>\n          <pnp:Fields>\n            <Field ID=\"{3a6b296c-3f50-445c-a13f-9c679ea9dda3}\" Hidden=\"FALSE\" ReadOnly=\"TRUE\" Required=\"FALSE\" Type=\"Text\" Name=\"ComplianceAssetId\" ShowInFileDlg=\"FALSE\" DisplayName=\"Compliance Asset Id\" SourceID=\"http://schemas.microsoft.com/sharepoint/v3\" StaticName=\"ComplianceAssetId\" FromBaseType=\"TRUE\" ColName=\"nvarchar3\" />\n          </pnp:Fields>\n          <pnp:FieldRefs>\n            <pnp:FieldRef ID=\"c10389a0-8b29-4866-951f-3ad8e138db03\" Name=\"PnPPortalLinkUrl\" DisplayName=\"Link URL\" />\n            <pnp:FieldRef ID=\"f5b23751-56d4-4ec3-adf2-7b080d834f74\" Name=\"PnPPortalLinkGroup\" DisplayName=\"Link Group\" />\n          </pnp:FieldRefs>\n          <pnp:DataRows KeyColumn=\"Title\" UpdateBehavior=\"Overwrite\">\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">Find My Customers</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">Applications</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://find.customers</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">CRM</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">Applications</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://company.crm</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">ERP</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">Applications</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://company.erp</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">Technical Procedures</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">Applications</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://tech.procs</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">Expense Report Module</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">Internal Modules</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://expense.report</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">Company Car Replacement</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">Internal Modules</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://need.new.car</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">Vacation Request Module</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">Internal Modules</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://need.some.rest</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">CNN</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">News</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://www.cnn.com/</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">BBC</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">News</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://www.bbc.co.uk/</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">New York Times</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">News</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">https://www.nytimes.com/</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">Forbes</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkGroup\">News</pnp:DataValue>\n              <pnp:DataValue FieldName=\"PnPPortalLinkUrl\">http://www.forbes.com/</pnp:DataValue>\n            </pnp:DataRow>\n          </pnp:DataRows>\n        </pnp:ListInstance>\n      </pnp:Lists>\n    </pnp:ProvisioningTemplate>\n    \n    <pnp:ProvisioningTemplate ID=\"ROOT-TEMPLATE\" Version=\"1.0\" BaseSiteTemplate=\"SITEPAGEPUBLISHING#0\" ImagePreviewUrl=\"https://preview.png\" DisplayName=\"{parameter:Company} Technologies\" Description=\"\" Scope=\"RootSite\" TemplateCultureInfo=\"1033\">\n    \n      <pnp:WebSettings WelcomePage=\"SitePages/Home.aspx\" Title=\"{parameter:Company}\" SiteLogo=\"{site}/SiteAssets/contoso_sitelogo.png\" NoCrawl=\"false\" CommentsOnSitePagesDisabled=\"false\" QuickLaunchEnabled=\"true\" SearchScope=\"DefaultScope\" SearchBoxInNavBar=\"Inherit\" />\n      \n      <pnp:PropertyBagEntries>\n        <pnp:PropertyBagEntry Key=\"ThemePrimary\" Value=\"#17717A\" Overwrite=\"false\" Indexed=\"true\" />\n      </pnp:PropertyBagEntries>\n\n      <pnp:Header Layout=\"Compact\" MenuStyle=\"MegaMenu\" BackgroundEmphasis=\"Strong\" />\n      <pnp:Footer Enabled=\"true\" RemoveExistingNodes=\"false\" />\n\n      <pnp:Navigation EnableTreeView=\"false\" CreateFriendlyUrlsForNewPages=\"false\" AddNewPagesToNavigation=\"false\">\n        <pnp:GlobalNavigation NavigationType=\"Structural\">\n          <pnp:StructuralNavigation RemoveExistingNodes=\"true\">\n            <pnp:NavigationNode Title=\"Personal\" Url=\"SitePages/Personal.aspx\"/>\n            <pnp:NavigationNode Title=\"Organization\" Url=\"SitePages/Home.aspx\"/>\n            <pnp:NavigationNode Title=\"Departments\" Url=\"\">\n              <pnp:NavigationNode Title=\"Human Resources\" Url=\"{sequenceSiteUrl:HR}\" />\n              <pnp:NavigationNode Title=\"Marketing\" Url=\"{sequenceSiteUrl:MARKETING}\" />\n            </pnp:NavigationNode>\n          </pnp:StructuralNavigation>\n        </pnp:GlobalNavigation>\n\n        <pnp:CurrentNavigation NavigationType=\"StructuralLocal\">\n          <pnp:StructuralNavigation RemoveExistingNodes=\"true\">\n            <pnp:NavigationNode Title=\"Who we are\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n              <pnp:NavigationNode Title=\"OUR COMPANY\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Facts\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Contoso News\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Sales &amp; Marketing\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Legal &amp; Procurement\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n              <pnp:NavigationNode Title=\"PEOPLE\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Senior Leadership\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Board of directors\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Leadership Connection\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Shareholders\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Alumni Network\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n              <pnp:NavigationNode Title=\"VALUES\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Innovation\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Diversity &amp; inclusion\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Corporate social responsibility\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Philanthropies\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Environment\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n              <pnp:NavigationNode Title=\"CAREERS\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Development\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Locations\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Students &amp; Grads\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Search jobs\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n            </pnp:NavigationNode>\n            <pnp:NavigationNode Title=\"What's happening\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n              <pnp:NavigationNode Title=\"EVENTS\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Contoso events calendar\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"QA with Patti\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"FlySafe Conference\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Product Launches\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n            </pnp:NavigationNode>\n            <pnp:NavigationNode Title=\"Find it\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n              <pnp:NavigationNode Title=\"MY CAREER &amp; BENEFITS\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Contoso Works\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Benefits\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"eLearning\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Give\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Company store\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n              <pnp:NavigationNode Title=\"FACILITIES &amp; DINING\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Cafeteria &amp; meal plan\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Facilities request\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Conference room map\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Security\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"New campus project\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n              <pnp:NavigationNode Title=\"POLICIES\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Company policies\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Corporate &amp; Legal\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Standards of business conduct\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Our response to disasters\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n              <pnp:NavigationNode Title=\"TECH HELP\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"IT support\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"HelpDesk\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Internal alerts\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Distribution &amp; groups\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n              <pnp:NavigationNode Title=\"FUN STUFF\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Contoso classifieds\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Contoso archives\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Social groups\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Visitor center\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n              <pnp:NavigationNode Title=\"GETTING AROUND\" Url=\"http://linkless.header/\" IsExternal=\"true\">\n                <pnp:NavigationNode Title=\"Campus maps\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Commuting\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n                <pnp:NavigationNode Title=\"Bus &amp; shuttle services\" Url=\"http://linkless.header/\" IsExternal=\"true\" />\n              </pnp:NavigationNode>\n            </pnp:NavigationNode>\n          </pnp:StructuralNavigation>\n        </pnp:CurrentNavigation>\n\n      </pnp:Navigation>\n      \n      <pnp:SiteFields>\n        <Field Type=\"DateTime\" DisplayName=\"Start date-time\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" Format=\"DateTime\" Group=\"PnP Columns\" FriendlyDisplayFormat=\"Disabled\" ID=\"{5ee2dd25-d941-455a-9bdb-7f2c54aed11b}\" SourceID=\"{4f118c69-66e0-497c-96ff-d7855ce0713d}\" StaticName=\"PnPAlertStartDateTime\" Name=\"PnPAlertStartDateTime\">\n          <Default>[today]</Default>\n        </Field>\n        <Field Type=\"URL\" DisplayName=\"More information link\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" Format=\"Hyperlink\" Group=\"PnP Columns\" ID=\"{6085e32a-339b-4da7-ab6d-c1e013e5ab27}\" SourceID=\"{4f118c69-66e0-497c-96ff-d7855ce0713d}\" StaticName=\"PnPAlertMoreInformation\" Name=\"PnPAlertMoreInformation\"></Field>\n        <Field Type=\"Note\" DisplayName=\"Alert message\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" NumLines=\"6\" RichText=\"FALSE\" Sortable=\"FALSE\" Group=\"PnP Columns\" ID=\"{f056406b-b46b-4a94-8503-361de4ca2752}\" SourceID=\"{4f118c69-66e0-497c-96ff-d7855ce0713d}\" StaticName=\"PnPAlertMessage\" Name=\"PnPAlertMessage\"></Field>\n        <Field Type=\"Choice\" DisplayName=\"Alert type\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" Format=\"RadioButtons\" FillInChoice=\"FALSE\" Group=\"PnP Columns\" ID=\"{ebe7e498-44ff-43da-a7e5-99b444f656a5}\" SourceID=\"{4f118c69-66e0-497c-96ff-d7855ce0713d}\" StaticName=\"PnPAlertType\" Name=\"PnPAlertType\">\n          <Default>Information</Default>\n          <CHOICES>\n            <CHOICE>Information</CHOICE>\n            <CHOICE>Urgent</CHOICE>\n          </CHOICES>\n        </Field>\n        <Field Type=\"DateTime\" DisplayName=\"End date-time\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" Format=\"DateTime\" Group=\"PnP Columns\" FriendlyDisplayFormat=\"Disabled\" ID=\"{b0d8c6ed-2487-43e7-a716-bf274f0d5e09}\" SourceID=\"{4f118c69-66e0-497c-96ff-d7855ce0713d}\" StaticName=\"PnPAlertEndDateTime\" Name=\"PnPAlertEndDateTime\">\n          <Default>[today]</Default>\n        </Field>\n        <Field Type=\"Choice\" DisplayName=\"PnP Url Target\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" Format=\"Dropdown\" FillInChoice=\"FALSE\" Group=\"PnP Columns\" ID=\"{4ad64f28-1772-492d-bde4-998a08f8a7ae}\" SourceID=\"{2765be97-bf5e-434d-b563-9f1b907b5397}\" StaticName=\"PnPUrlTarget\" Name=\"PnPUrlTarget\">\n          <CHOICES>\n            <CHOICE>Current window</CHOICE>\n            <CHOICE>New window</CHOICE>\n          </CHOICES>\n        </Field>\n        <Field Type=\"Choice\" DisplayName=\"PnP Icon Name\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" Format=\"Dropdown\" FillInChoice=\"TRUE\" Group=\"PnP Columns\" ID=\"{a374d13d-040b-4104-9973-edfdca1e3fc1}\" SourceID=\"{2765be97-bf5e-434d-b563-9f1b907b5397}\" StaticName=\"PnPIconName\" Name=\"PnPIconName\">\n          <CHOICES>\n            <CHOICE>12PointStar</CHOICE>\n            <CHOICE>6PointStar</CHOICE>\n            <CHOICE>AADLogo</CHOICE>\n            <CHOICE>Accept</CHOICE>\n            <CHOICE>Accounts</CHOICE>\n          </CHOICES>\n        </Field>\n        <Field Type=\"Text\" DisplayName=\"PnP Url\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" MaxLength=\"255\" Group=\"PnP Fields\" ID=\"{9913d58a-9a75-41fc-86aa-f6de1d9328ba}\" SourceID=\"{2765be97-bf5e-434d-b563-9f1b907b5397}\" StaticName=\"PnPUrl\" Name=\"PnPUrl\"></Field>\n        <Field Type=\"Note\" DisplayName=\"PnP Description\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" NumLines=\"6\" RichText=\"FALSE\" Sortable=\"FALSE\" Group=\"PnP Columns\" ID=\"{a67b73bf-acb0-4517-93e6-91585316ec49}\" SourceID=\"{2765be97-bf5e-434d-b563-9f1b907b5397}\" StaticName=\"PnPDescription\" Name=\"PnPDescription\"></Field>\n      </pnp:SiteFields>\n      \n      <pnp:ContentTypes>\n        <pnp:ContentType ID=\"0x01007926A45D687BA842B947286090B8F67D\" Name=\"PnP Alert\" Description=\"\" Group=\"PnP Content Types\" NewFormUrl=\"\" EditFormUrl=\"\" DisplayFormUrl=\"\">\n          <pnp:FieldRefs>\n            <pnp:FieldRef ID=\"c042a256-787d-4a6f-8a8a-cf6ab767f12d\" Name=\"ContentType\" />\n            <pnp:FieldRef ID=\"fa564e0f-0c70-4ab9-b863-0177e6ddd247\" Name=\"Title\" Required=\"true\" />\n            <pnp:FieldRef ID=\"ebe7e498-44ff-43da-a7e5-99b444f656a5\" Name=\"PnPAlertType\" Required=\"true\" />\n            <pnp:FieldRef ID=\"f056406b-b46b-4a94-8503-361de4ca2752\" Name=\"PnPAlertMessage\" Required=\"true\" />\n            <pnp:FieldRef ID=\"5ee2dd25-d941-455a-9bdb-7f2c54aed11b\" Name=\"PnPAlertStartDateTime\" Required=\"true\" />\n            <pnp:FieldRef ID=\"b0d8c6ed-2487-43e7-a716-bf274f0d5e09\" Name=\"PnPAlertEndDateTime\" Required=\"true\" />\n            <pnp:FieldRef ID=\"6085e32a-339b-4da7-ab6d-c1e013e5ab27\" Name=\"PnPAlertMoreInformation\" />\n          </pnp:FieldRefs>\n        </pnp:ContentType>\n        <pnp:ContentType ID=\"0x0100FF0B2E33A3718B46A3909298D240FD92\" Name=\"PnPTile\" Description=\"\" Group=\"PnP Content Types\" NewFormUrl=\"\" EditFormUrl=\"\" DisplayFormUrl=\"\">\n          <pnp:FieldRefs>\n            <pnp:FieldRef ID=\"c042a256-787d-4a6f-8a8a-cf6ab767f12d\" Name=\"ContentType\" />\n            <pnp:FieldRef ID=\"fa564e0f-0c70-4ab9-b863-0177e6ddd247\" Name=\"Title\" Required=\"true\" />\n            <pnp:FieldRef ID=\"a67b73bf-acb0-4517-93e6-91585316ec49\" Name=\"PnPDescription\" />\n            <pnp:FieldRef ID=\"a374d13d-040b-4104-9973-edfdca1e3fc1\" Name=\"PnPIconName\" />\n            <pnp:FieldRef ID=\"9913d58a-9a75-41fc-86aa-f6de1d9328ba\" Name=\"PnPUrl\" />\n            <pnp:FieldRef ID=\"4ad64f28-1772-492d-bde4-998a08f8a7ae\" Name=\"PnPUrlTarget\" />\n          </pnp:FieldRefs>\n        </pnp:ContentType>\n      </pnp:ContentTypes>\n      \n      <pnp:ClientSidePages>\n        <pnp:ClientSidePage PromoteAsNewsArticle=\"false\" PromoteAsTemplate=\"false\" Overwrite=\"true\" Layout=\"Home\" EnableComments=\"false\" Title=\"Home\" ThumbnailUrl=\"\" PageName=\"Home.aspx\">\n          <pnp:Header Type=\"Default\" LayoutType=\"FullWidthImage\" TextAlignment=\"Center\" ShowTopicHeader=\"false\" ShowPublishDate=\"false\" TopicHeader=\"\" AlternativeText=\"\" Authors=\"[]\" AuthorByLine=\"[]\" AuthorByLineId=\"-1\" />\n          <pnp:Sections>\n            <!--\n              valid values for VerticalSectionEmphasis:\n              \"Neutral\" \"Soft\" \"Strong\"\n            -->\n            <pnp:Section Order=\"1\" Type=\"TwoColumnLeftVerticalSection\" VerticalSectionEmphasis=\"Neutral\">\n              <pnp:Controls>\n                <pnp:CanvasControl\n                  WebPartType=\"News\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;8c88f208-6c77-4bdb-86a0-0c47b4316588&quot;,\n                    &quot;title&quot;:&quot;News&quot;,\n                    &quot;description&quot;:&quot;News&quot;,\n                    &quot;dataVersion&quot;:&quot;1.11&quot;,\n                    &quot;properties&quot;:{\n                      &quot;carouselSettings&quot;:{\n                        &quot;autoplay&quot;:false,\n                        &quot;autoplaySpeed&quot;:5,\n                        &quot;dots&quot;:true,\n                        &quot;lazyLoad&quot;:true,\n                        &quot;metadata&quot;:true,\n                        &quot;swipe&quot;:true,\n                        &quot;useStockItems&quot;:false\n                      },\n                      &quot;showChrome&quot;:false,\n                      &quot;showNewsMetadata&quot;:{\n                        &quot;showSocialActions&quot;:true,\n                        &quot;showAuthor&quot;:true,\n                        &quot;showDate&quot;:true\n                      },\n                      &quot;layoutId&quot;:&quot;Carousel&quot;,\n                      &quot;prefetchCount&quot;:5,\n                      &quot;filters&quot;:[\n                        {\n                          &quot;filterType&quot;:1,\n                          &quot;value&quot;:&quot;&quot;,\n                          &quot;values&quot;:[]\n                        }\n                      ],\n                      &quot;newsDataSourceProp&quot;:1,\n                      &quot;dataProviderId&quot;:&quot;viewCounts&quot;,\n                      &quot;newsSiteList&quot;:[],\n                      &quot;renderItemsSliderValue&quot;:5,\n                      &quot;webId&quot;:&quot;{siteid}&quot;,\n                      &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                      &quot;serializedFilterQuery&quot;:&quot;&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name=\\&quot;FSObjType\\&quot; /&gt;&lt;Value Type=\\&quot;Integer\\&quot;&gt;0&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;&quot;,\n                      &quot;templateId&quot;:&quot;Carousel&quot;,\n                      &quot;compactMode&quot;:false,\n                      &quot;showNewsPinningPanel&quot;:true\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{},\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{\n                        &quot;baseUrl&quot;:&quot;{hosturl}{site}&quot;\n                      },\n                      &quot;componentDependencies&quot;:{\n                        &quot;layoutComponentId&quot;:&quot;8ac0c53c-e8d0-4e3e-87d0-7449eb0d4027&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"8c88f208-6c77-4bdb-86a0-0c47b4316588\" Order=\"1\" Column=\"1\"\n                />\n                <pnp:CanvasControl\n                  WebPartType=\"News\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;8c88f208-6c77-4bdb-86a0-0c47b4316588&quot;,\n                    &quot;title&quot;:&quot;News&quot;,\n                    &quot;description&quot;:&quot;News&quot;,\n                    &quot;dataVersion&quot;:&quot;1.11&quot;,\n                    &quot;properties&quot;:{\n                      &quot;carouselSettings&quot;:{\n                        &quot;autoplay&quot;:false,\n                        &quot;autoplaySpeed&quot;:5,\n                        &quot;dots&quot;:true,\n                        &quot;lazyLoad&quot;:true,\n                        &quot;metadata&quot;:true,\n                        &quot;swipe&quot;:true,\n                        &quot;useStockItems&quot;:false\n                      },\n                      &quot;showChrome&quot;:false,\n                      &quot;showNewsMetadata&quot;:{\n                        &quot;showSocialActions&quot;:true,\n                        &quot;showAuthor&quot;:true,\n                        &quot;showDate&quot;:true\n                      },\n                      &quot;layoutId&quot;:&quot;NewsHub&quot;,\n                      &quot;prefetchCount&quot;:12,\n                      &quot;filters&quot;:[\n                        {\n                          &quot;filterType&quot;:1,\n                          &quot;value&quot;:&quot;&quot;,\n                          &quot;values&quot;:[]\n                        }\n                      ],\n                      &quot;newsDataSourceProp&quot;:1,\n                      &quot;dataProviderId&quot;:&quot;viewCounts&quot;,\n                      &quot;newsSiteList&quot;:[],\n                      &quot;renderItemsSliderValue&quot;:4,\n                      &quot;webId&quot;:&quot;{siteid}&quot;,\n                      &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                      &quot;serializedFilterQuery&quot;:&quot;&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name=\\&quot;FSObjType\\&quot; /&gt;&lt;Value Type=\\&quot;Integer\\&quot;&gt;0&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;&quot;,\n                      &quot;templateId&quot;:&quot;NewsHub&quot;,\n                      &quot;compactMode&quot;:false,\n                      &quot;showNewsPinningPanel&quot;:true\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{},\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{\n                        &quot;baseUrl&quot;:&quot;{hosturl}{site}&quot;\n                      },\n                      &quot;componentDependencies&quot;:{\n                        &quot;layoutComponentId&quot;:&quot;0d8d5f97-0b3c-4ebc-91fc-194b69092eec&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"8c88f208-6c77-4bdb-86a0-0c47b4316588\" Order=\"2\" Column=\"1\"\n                />\n                <pnp:CanvasControl\n                  WebPartType=\"QuickLinks\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;c70391ea-0b10-4ee9-b2b4-006d3fcad0cd&quot;,\n                    &quot;title&quot;:&quot;Quick links&quot;,\n                    &quot;description&quot;:&quot;Add links to important documents and pages.&quot;,\n                    &quot;dataVersion&quot;:&quot;2.2&quot;,\n                    &quot;properties&quot;:{\n                      &quot;items&quot;:[\n                        {\n                          &quot;sourceItem&quot;:{\n                            &quot;itemType&quot;:2,\n                            &quot;fileExtension&quot;:&quot;&quot;,\n                            &quot;progId&quot;:&quot;&quot;\n                          },\n                          &quot;thumbnailType&quot;:2,\n                          &quot;id&quot;:6,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;fabricReactIcon&quot;:{\n                            &quot;iconName&quot;:&quot;airplane&quot;\n                          },\n                          &quot;altText&quot;:&quot;&quot;\n                        },\n                        {\n                          &quot;sourceItem&quot;:{\n                            &quot;itemType&quot;:2,\n                            &quot;fileExtension&quot;:&quot;&quot;,\n                            &quot;progId&quot;:&quot;&quot;\n                          },\n                          &quot;thumbnailType&quot;:2,\n                          &quot;id&quot;:5,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;fabricReactIcon&quot;:{\n                            &quot;iconName&quot;:&quot;chart&quot;\n                          },\n                          &quot;altText&quot;:&quot;&quot;\n                        },\n                        {\n                          &quot;sourceItem&quot;:{\n                            &quot;itemType&quot;:2,\n                            &quot;fileExtension&quot;:&quot;&quot;,\n                            &quot;progId&quot;:&quot;&quot;\n                          },\n                          &quot;thumbnailType&quot;:2,\n                          &quot;id&quot;:4,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;fabricReactIcon&quot;:{\n                            &quot;iconName&quot;:&quot;headset&quot;\n                          },\n                          &quot;altText&quot;:&quot;&quot;\n                        },\n                        {\n                          &quot;sourceItem&quot;:{\n                            &quot;itemType&quot;:2,\n                            &quot;fileExtension&quot;:&quot;&quot;,\n                            &quot;progId&quot;:&quot;&quot;\n                          },\n                          &quot;thumbnailType&quot;:2,\n                          &quot;id&quot;:3,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;fabricReactIcon&quot;:{\n                            &quot;iconName&quot;:&quot;contactheart&quot;\n                          },\n                          &quot;altText&quot;:&quot;&quot;\n                        },\n                        {\n                          &quot;sourceItem&quot;:{\n                            &quot;itemType&quot;:2,\n                            &quot;fileExtension&quot;:&quot;&quot;,\n                            &quot;progId&quot;:&quot;&quot;\n                          },\n                          &quot;thumbnailType&quot;:2,\n                          &quot;id&quot;:2,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;fabricReactIcon&quot;:{\n                            &quot;iconName&quot;:&quot;teamwork&quot;\n                          },\n                          &quot;altText&quot;:&quot;&quot;\n                        },\n                        {\n                          &quot;sourceItem&quot;:{\n                            &quot;itemType&quot;:2,\n                            &quot;fileExtension&quot;:&quot;&quot;,\n                            &quot;progId&quot;:&quot;&quot;\n                          },\n                          &quot;thumbnailType&quot;:2,\n                          &quot;id&quot;:1,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;fabricReactIcon&quot;:{\n                            &quot;iconName&quot;:&quot;group&quot;\n                          },\n                          &quot;altText&quot;:&quot;&quot;\n                        }\n                      ],\n                      &quot;isMigrated&quot;:true,\n                      &quot;layoutId&quot;:&quot;Waffle&quot;,\n                      &quot;shouldShowThumbnail&quot;:true,\n                      &quot;buttonLayoutOptions&quot;:{\n                        &quot;showDescription&quot;:false,\n                        &quot;buttonTreatment&quot;:2,\n                        &quot;iconPositionType&quot;:2,\n                        &quot;textAlignmentVertical&quot;:2,\n                        &quot;textAlignmentHorizontal&quot;:2,\n                        &quot;linesOfText&quot;:2\n                      },\n                      &quot;listLayoutOptions&quot;:{\n                        &quot;showDescription&quot;:false,\n                        &quot;showIcon&quot;:true\n                      },\n                      &quot;waffleLayoutOptions&quot;:{\n                        &quot;iconSize&quot;:1,\n                        &quot;onlyShowThumbnail&quot;:false\n                      },\n                      &quot;hideWebPartWhenEmpty&quot;:true,\n                      &quot;dataProviderId&quot;:&quot;QuickLinks&quot;,\n                      &quot;webId&quot;:&quot;{siteid}&quot;,\n                      &quot;siteId&quot;:&quot;{sitecollectionid}&quot;\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;items[0].title&quot;:&quot;Travel Instructions&quot;,\n                        &quot;items[1].title&quot;:&quot;Financials&quot;,\n                        &quot;items[2].title&quot;:&quot;Support&quot;,\n                        &quot;items[3].title&quot;:&quot;My Profile&quot;,\n                        &quot;items[4].title&quot;:&quot;HR&quot;,\n                        &quot;items[5].title&quot;:&quot;Employee directory&quot;\n                      },\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{\n                        &quot;baseUrl&quot;:&quot;{hosturl}{site}&quot;,\n                        &quot;items[0].sourceItem.url&quot;:&quot;https://lookbook.microsoft.com&quot;,\n                        &quot;items[1].sourceItem.url&quot;:&quot;https://lookbook.microsoft.com&quot;,\n                        &quot;items[2].sourceItem.url&quot;:&quot;https://lookbook.microsoft.com&quot;,\n                        &quot;items[3].sourceItem.url&quot;:&quot;https://lookbook.microsoft.com&quot;,\n                        &quot;items[4].sourceItem.url&quot;:&quot;https://lookbook.microsoft.com&quot;,\n                        &quot;items[5].sourceItem.url&quot;:&quot;https://lookbook.microsoft.com&quot;\n                      },\n                      &quot;componentDependencies&quot;:{\n                        &quot;layoutComponentId&quot;:&quot;706e33c8-af37-4e7b-9d22-6e5694d92a6f&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"c70391ea-0b10-4ee9-b2b4-006d3fcad0cd\" Order=\"1\" Column=\"2\"\n                  />\n                <pnp:CanvasControl\n                  WebPartType=\"Custom\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;868ac3c3-cad7-4bd6-9a1c-14dc5cc8e823&quot;,\n                    &quot;title&quot;:&quot;Weather&quot;,\n                    &quot;description&quot;:&quot;Weather&quot;,\n                    &quot;dataVersion&quot;:&quot;1.2&quot;,\n                    &quot;properties&quot;:{\n                      &quot;temperatureUnit&quot;:&quot;F&quot;,\n                      &quot;locations&quot;:[\n                        {\n                          &quot;latitude&quot;:47.679,\n                          &quot;longitude&quot;:-122.132,\n                          &quot;name&quot;:&quot;Redmond, United States&quot;,\n                          &quot;showCustomizedDisplayName&quot;:false,\n                          &quot;countryName&quot;:&quot;United States&quot;\n                        },\n                        {\n                          &quot;countryName&quot;:&quot;Singapore&quot;,\n                          &quot;name&quot;:&quot;Singapore, Singapore&quot;,\n                          &quot;latitude&quot;:1.290410041809082,\n                          &quot;longitude&quot;:103.85211181640625,\n                          &quot;showCustomizedDisplayName&quot;:false\n                        }\n                      ]\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;webPartTitle&quot;:&quot;Weather at our offices&quot;\n                      },\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{}\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"868ac3c3-cad7-4bd6-9a1c-14dc5cc8e823\" Order=\"2\" Column=\"2\"\n                />\n                <pnp:CanvasControl\n                  WebPartType=\"Custom\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;81b57906-cbed-4bb1-9823-2e3314f46f28&quot;,\n                    &quot;title&quot;:&quot;World clock&quot;,\n                    &quot;description&quot;:&quot;Show clocks for the time zones you choose&quot;,\n                    &quot;dataVersion&quot;:&quot;1.0&quot;,\n                    &quot;properties&quot;:{\n                      &quot;timeFormat&quot;:&quot;hm&quot;,\n                      &quot;dateFormat&quot;:&quot;mmm dd, yyyy&quot;,\n                      &quot;isSpecifyDateTimeFormats&quot;:false,\n                      &quot;shouldShowDayOfWeek&quot;:true,\n                      &quot;clockItems&quot;:[\n                        {\n                          &quot;location&quot;:&quot;Redmond, WA&quot;,\n                          &quot;useManualConfiguration&quot;:false,\n                          &quot;displayedLocation&quot;:&quot;Redmond, WA&quot;,\n                          &quot;isTimezoneResolved&quot;:true,\n                          &quot;windowsTimeZoneId&quot;:&quot;Pacific Standard Time&quot;,\n                          &quot;manualConfiguredTimezoneId&quot;:&quot;Pacific Standard Time&quot;\n                        },\n                        {\n                          &quot;location&quot;:&quot;Singapore, Singapore&quot;,\n                          &quot;useManualConfiguration&quot;:false,\n                          &quot;displayedLocation&quot;:&quot;Singapore, Singapore&quot;,\n                          &quot;isTimezoneResolved&quot;:true,\n                          &quot;windowsTimeZoneId&quot;:&quot;Singapore Standard Time&quot;,\n                          &quot;manualConfiguredTimezoneId&quot;:&quot;Singapore Standard Time&quot;\n                        }\n                      ]\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;webPartTitle&quot;:&quot;Time at our offices&quot;\n                      },\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{}\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"81b57906-cbed-4bb1-9823-2e3314f46f28\" Order=\"3\" Column=\"2\" \n                />\n                \n                <pnp:CanvasControl \n                  WebPartType=\"Custom\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;0a4ad3e5-1677-4829-b173-55cbb3ffc317&quot;,\n                    &quot;title&quot;:&quot;Personal e-mail&quot;,\n                    &quot;description&quot;:&quot;Shows email of a user&quot;,\n                    &quot;dataVersion&quot;:&quot;1.0&quot;,\n                    &quot;properties&quot;:{\n                      &quot;title&quot;:&quot;Latest emails&quot;,\n                      &quot;nrOfMessages&quot;:5,\n                      &quot;showInboxOnly&quot;:true\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{},\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{}\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"0a4ad3e5-1677-4829-b173-55cbb3ffc317\" Order=\"1\" Column=\"3\"\n                />\n                <pnp:CanvasControl\n                  WebPartType=\"Custom\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;6d28e73b-ed80-494e-8238-c0106c26b36a&quot;,\n                    &quot;title&quot;:&quot;Personal Calendar&quot;,\n                    &quot;description&quot;:&quot;Shows upcoming meetings for the current user&quot;,\n                    &quot;dataVersion&quot;:&quot;1.0&quot;,\n                    &quot;properties&quot;:{\n                      &quot;title&quot;:&quot;Upcoming meetings&quot;,\n                      &quot;refreshInterval&quot;:5,\n                      &quot;daysInAdvance&quot;:0,\n                      &quot;numMeetings&quot;:0\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{},\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{}\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"6d28e73b-ed80-494e-8238-c0106c26b36a\" Order=\"2\" Column=\"3\"\n                />\n                <pnp:CanvasControl\n                  WebPartType=\"Custom\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;9eac8961-60e7-45b8-990e-175340d7c4a0&quot;,\n                    &quot;title&quot;:&quot;Personal Tasks&quot;,\n                    &quot;description&quot;:&quot;Personal tasks of the user&quot;,\n                    &quot;dataVersion&quot;:&quot;1.0&quot;,\n                    &quot;properties&quot;:{\n                      &quot;webPartTitle&quot;:&quot;My Tasks&quot;,\n                      &quot;allowEditing&quot;:true,\n                      &quot;dataSource&quot;:&quot;planner&quot;,\n                      &quot;hideHeader&quot;:true\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{},\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{}\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"9eac8961-60e7-45b8-990e-175340d7c4a0\" Order=\"3\" Column=\"3\"\n                />\n                <pnp:CanvasControl\n                  WebPartType=\"News\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;8c88f208-6c77-4bdb-86a0-0c47b4316588&quot;,\n                    &quot;title&quot;:&quot;News&quot;,\n                    &quot;description&quot;:&quot;News&quot;,\n                    &quot;dataVersion&quot;:&quot;1.11&quot;,\n                    &quot;properties&quot;:{\n                      &quot;carouselSettings&quot;:{\n                        &quot;autoplay&quot;:false,\n                        &quot;autoplaySpeed&quot;:5,\n                        &quot;dots&quot;:true,\n                        &quot;lazyLoad&quot;:true,\n                        &quot;metadata&quot;:true,\n                        &quot;swipe&quot;:true,\n                        &quot;useStockItems&quot;:false\n                      },\n                      &quot;showChrome&quot;:true,\n                      &quot;showNewsMetadata&quot;:{\n                        &quot;showSocialActions&quot;:true,\n                        &quot;showAuthor&quot;:true,\n                        &quot;showDate&quot;:true\n                      },\n                      &quot;layoutId&quot;:&quot;GridNews&quot;,\n                      &quot;prefetchCount&quot;:4,\n                      &quot;filters&quot;:[\n                        {\n                          &quot;filterType&quot;:1,\n                          &quot;value&quot;:&quot;&quot;,\n                          &quot;values&quot;:[]\n                        }\n                      ],\n                      &quot;newsDataSourceProp&quot;:1,\n                      &quot;dataProviderId&quot;:&quot;news&quot;,\n                      &quot;newsSiteList&quot;:[],\n                      &quot;renderItemsSliderValue&quot;:4,\n                      &quot;webId&quot;:&quot;{siteid}&quot;,\n                      &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                      &quot;pinnedItems&quot;:[]\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;title&quot;:&quot;My news&quot;\n                      },\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{\n                        &quot;baseUrl&quot;:&quot;{hosturl}{site}&quot;\n                      },\n                      &quot;componentDependencies&quot;:{\n                        &quot;layoutComponentId&quot;:&quot;ef1147f9-e3f4-4844-b4fe-ab7e6c1f3a10&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"8c88f208-6c77-4bdb-86a0-0c47b4316588\" Order=\"4\" Column=\"3\"\n                />\n                <pnp:CanvasControl\n                  WebPartType=\"Custom\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;b519c4f1-5cf7-4586-a678-2f1c62cc175a&quot;,\n                    &quot;title&quot;:&quot;Recent documents&quot;,\n                    &quot;description&quot;:&quot;Recent documents&quot;,\n                    &quot;dataVersion&quot;:&quot;1.0&quot;,\n                    &quot;properties&quot;:{\n                      &quot;layoutId&quot;:&quot;listDocumentLayout&quot;,\n                      &quot;count&quot;:6,\n                      &quot;dataProviderId&quot;:&quot;recentDocuments&quot;\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;title&quot;:&quot;My recent documents&quot;\n                      },\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{},\n                      &quot;componentDependencies&quot;:{\n                        &quot;layoutComponentId&quot;:&quot;c6eb85d4-7fd2-4938-bfb8-5a899344ee86&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"b519c4f1-5cf7-4586-a678-2f1c62cc175a\" Order=\"5\" Column=\"3\"\n                />\n                <pnp:CanvasControl\n                  WebPartType=\"Sites\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;7cba020c-5ccb-42e8-b6fc-75b3149aba7b&quot;,\n                    &quot;title&quot;:&quot;Sites&quot;,\n                    &quot;description&quot;:&quot;Sites&quot;,\n                    &quot;dataVersion&quot;:&quot;1.0&quot;,\n                    &quot;properties&quot;:{\n                      &quot;sites&quot;:[],\n                      &quot;sourceType&quot;:3,\n                      &quot;itemCount&quot;:6,\n                      &quot;layoutId&quot;:&quot;CompactGrid&quot;,\n                      &quot;dataProviderId&quot;:&quot;SitesDataProvider&quot;,\n                      &quot;webId&quot;:&quot;{siteid}&quot;,\n                      &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                      &quot;hideWebPartWhenEmpty&quot;:false\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;title&quot;:&quot;My recent sites&quot;\n                      },\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{\n                        &quot;baseUrl&quot;:&quot;{hosturl}{site}&quot;\n                      },\n                      &quot;componentDependencies&quot;:{\n                        &quot;layoutComponentId&quot;:&quot;706e33c8-af37-4e7b-9d22-6e5694d92a6f&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"7cba020c-5ccb-42e8-b6fc-75b3149aba7b\" Order=\"6\" Column=\"3\"\n                />\n              </pnp:Controls>\n            </pnp:Section>\n\n            <pnp:Section Order=\"2\" Type=\"OneColumn\" BackgroundEmphasis=\"Strong\">\n              <pnp:Controls>\n                <pnp:CanvasControl\n                  WebPartType=\"Events\"\n                  JsonControlData=\"{&quot;id&quot;: &quot;20745d7d-8581-4a6c-bf26-68279bc123fc&quot;, &quot;instanceId&quot;: &quot;afbe0e47-c401-4313-94b5-6fdcab43d0a5&quot;, &quot;title&quot;: &quot;Events&quot;, &quot;description&quot;: &quot;Events&quot;, &quot;dataVersion&quot;: &quot;1.2&quot;, &quot;properties&quot;: {&quot;selectedListId&quot;:&quot;{listid:Events}&quot;,&quot;selectedCategory&quot;:&quot;&quot;,&quot;dateRangeOption&quot;:0,&quot;startDate&quot;:&quot;&quot;,&quot;endDate&quot;:&quot;&quot;,&quot;isOnSeeAllPage&quot;:false,&quot;layout&quot;:&quot;Compact&quot;,&quot;dataSource&quot;:7,&quot;sites&quot;:[],&quot;maxItemsPerPage&quot;:20,&quot;layoutId&quot;:&quot;Flex&quot;,&quot;dataProviderId&quot;:&quot;Event&quot;,&quot;webId&quot;:&quot;{siteid}&quot;,&quot;siteId&quot;:&quot;{sitecollectionid}&quot;}, &quot;serverProcessedContent&quot;: {&quot;htmlStrings&quot;:{},&quot;searchablePlainTexts&quot;:{&quot;title&quot;:&quot;Company events&quot;},&quot;imageSources&quot;:{},&quot;links&quot;:{&quot;baseUrl&quot;:&quot;{hosturl}{site}&quot;},&quot;componentDependencies&quot;:{&quot;layoutComponentId&quot;:&quot;0447e11d-bed9-4898-b600-8dbcd95e9cc2&quot;}}, &quot;dynamicDataPaths&quot;: {}, &quot;dynamicDataValues&quot;: {}}\"\n                  ControlId=\"20745d7d-8581-4a6c-bf26-68279bc123fc\" Order=\"1\" Column=\"1\"\n                />\n              </pnp:Controls>\n            </pnp:Section>\n\n            <pnp:Section Order=\"3\" Type=\"ThreeColumn\">\n              <pnp:Controls>\n                <pnp:CanvasControl\n                  WebPartType=\"Image\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;d1d91016-032f-456d-98a4-721247c305e8&quot;,\n                    &quot;title&quot;:&quot;Image&quot;,\n                    &quot;description&quot;:&quot;Image&quot;,\n                    &quot;dataVersion&quot;:&quot;1.9&quot;,\n                    &quot;properties&quot;:{\n                      &quot;imageSourceType&quot;:2,\n                      &quot;altText&quot;:&quot;Areal view of fall colored trees&quot;,\n                      &quot;overlayText&quot;:&quot;&quot;,\n                      &quot;fileName&quot;:&quot;showcase.jpg&quot;,\n                      &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                      &quot;webId&quot;:&quot;{siteid}&quot;,\n                      &quot;listId&quot;:&quot;{listid:Site Assets}&quot;,\n                      &quot;uniqueId&quot;:&quot;a2898896-0357-430d-b059-273dd76d54c6&quot;,\n                      &quot;imgWidth&quot;:1150,\n                      &quot;imgHeight&quot;:650,\n                      &quot;resizeCoefficient&quot;:1,\n                      &quot;alignment&quot;:&quot;Center&quot;,\n                      &quot;fixAspectRatio&quot;:false,\n                      &quot;captionText&quot;:&quot;&quot;\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{},\n                      &quot;imageSources&quot;:{\n                        &quot;imageSource&quot;:&quot;{site}/SiteAssets/23363-showcase.jpg&quot;\n                      },\n                      &quot;links&quot;:{},\n                      &quot;customMetadata&quot;:{\n                        &quot;imageSource&quot;:{\n                          &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                          &quot;webId&quot;:&quot;{siteid}&quot;,\n                          &quot;listId&quot;:&quot;{listid:Site Assets}&quot;,\n                          &quot;uniqueId&quot;:&quot;a2898896-0357-430d-b059-273dd76d54c6&quot;,\n                          &quot;width&quot;:1150,\n                          &quot;height&quot;:650\n                        }\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"d1d91016-032f-456d-98a4-721247c305e8\" Order=\"1\" Column=\"1\" \n                />\n                <pnp:CanvasControl\n                  WebPartType=\"Text\"\n                  ControlId=\"7819c9ed-fa21-4d71-9b84-71ef785c3dff\" Order=\"2\" Column=\"1\">\n                  <pnp:CanvasControlProperties>\n                    <pnp:CanvasControlProperty \n                      Key=\"Text\"\n                      Value=\"&lt;p&gt;&lt;span class=&quot;fontColorThemePrimary&quot;&gt;&lt;span class=&quot;fontSizeMediumPlus&quot;&gt;&lt;strong&gt;BREATHTAKING VIDEOS &amp;amp; PHOTOS&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Contoso MARK8 is the first drone to offer an 8K HDR camera that tilts vertically at and angle of 180&lt;strong&gt;°&lt;/strong&gt;, combined with an up to 2.8X lossless zoom and dolly zoom effect.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;fontColorBlueDark&quot;&gt;&lt;strong&gt;–&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;fontSizeMedium&quot;&gt;&lt;span class=&quot;fontColorBlueDark&quot;&gt;&lt;strong&gt;2.8X FULL HD ZOOM&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;&lt;em&gt;Reveal your inner filmmaker&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;\"\n                    />\n                  </pnp:CanvasControlProperties>\n                </pnp:CanvasControl>\n                <pnp:CanvasControl \n                  WebPartType=\"Button\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;0f087d7f-520e-42b7-89c0-496aaf979d58&quot;,\n                    &quot;title&quot;:&quot;Button&quot;,\n                    &quot;description&quot;:&quot;Button&quot;,\n                    &quot;dataVersion&quot;:&quot;1.0&quot;,\n                    &quot;properties&quot;:{\n                      &quot;alignment&quot;:&quot;Left&quot;\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;label&quot;:&quot;LEARN MORE&quot;\n                      },\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{\n                        &quot;linkUrl&quot;:&quot;{site}&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"0f087d7f-520e-42b7-89c0-496aaf979d58\" Order=\"3\" Column=\"1\"\n                />\n                \n                <pnp:CanvasControl\n                  WebPartType=\"Image\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;d1d91016-032f-456d-98a4-721247c305e8&quot;,\n                    &quot;title&quot;:&quot;Image&quot;,\n                    &quot;description&quot;:&quot;Image&quot;,\n                    &quot;dataVersion&quot;:&quot;1.9&quot;,\n                    &quot;properties&quot;:{\n                      &quot;imageSourceType&quot;:2,\n                      &quot;altText&quot;:&quot;Areal view of beach&quot;,\n                      &quot;overlayText&quot;:&quot;&quot;,\n                      &quot;fileName&quot;:&quot;consumer-showcase-thumb-1.jpg&quot;,\n                      &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                      &quot;webId&quot;:&quot;{siteid}&quot;,\n                      &quot;listId&quot;:&quot;{listid:Site Assets}&quot;,\n                      &quot;uniqueId&quot;:&quot;720ebeb6-a165-4925-9687-8f8bdfb7ff9a&quot;,\n                      &quot;imgWidth&quot;:1150,\n                      &quot;imgHeight&quot;:650,\n                      &quot;resizeCoefficient&quot;:1,\n                      &quot;alignment&quot;:&quot;Center&quot;,\n                      &quot;fixAspectRatio&quot;:false,\n                      &quot;captionText&quot;:&quot;&quot;\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{},\n                      &quot;imageSources&quot;:{\n                        &quot;imageSource&quot;:&quot;{site}/SiteAssets/27137-consumer-showcase.jpg&quot;\n                      },\n                      &quot;links&quot;:{},\n                      &quot;customMetadata&quot;:{\n                        &quot;imageSource&quot;:{\n                          &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                          &quot;webId&quot;:&quot;{siteid}&quot;,\n                          &quot;listId&quot;:&quot;{listid:Site Assets}&quot;,\n                          &quot;uniqueId&quot;:&quot;720ebeb6-a165-4925-9687-8f8bdfb7ff9a&quot;,\n                          &quot;width&quot;:1150,\n                          &quot;height&quot;:650\n                        }\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"d1d91016-032f-456d-98a4-721247c305e8\" Order=\"1\" Column=\"2\" \n                />\n                <pnp:CanvasControl WebPartType=\"Text\" ControlId=\"dd63981d-d4fd-4bb6-806d-94acdc09909a\" Order=\"2\" Column=\"2\">\n                  <pnp:CanvasControlProperties>\n                    <pnp:CanvasControlProperty\n                      Key=\"Text\"\n                      Value=\"&lt;p&gt;&lt;span class=&quot;fontColorThemePrimary&quot;&gt;&lt;span class=&quot;fontSizeMediumPlus&quot;&gt;&lt;strong&gt;FLYING IS A BREEZE&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The easy-to-operate MARK8 is designed for high-quality aerial photography and cinematography. Fly, capture and share photos and videos directly from the mobile app.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;fontColorBlueDark&quot;&gt;&lt;strong&gt;–&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;fontSizeMedium&quot;&gt;&lt;span class=&quot;fontColorBlueDark&quot;&gt;&lt;strong&gt;8K HDR VIDEOS AND 21MP PHOTOS&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;&lt;em&gt;Perfection is in the details&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;\"\n                    />\n                  </pnp:CanvasControlProperties>\n                </pnp:CanvasControl>\n                <pnp:CanvasControl\n                  WebPartType=\"Button\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;0f087d7f-520e-42b7-89c0-496aaf979d58&quot;,\n                    &quot;title&quot;:&quot;Button&quot;,\n                    &quot;description&quot;:&quot;Button&quot;,\n                    &quot;dataVersion&quot;:&quot;1.0&quot;,\n                    &quot;properties&quot;:{\n                      &quot;alignment&quot;:&quot;Left&quot;\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;label&quot;:&quot;LEARN MORE&quot;\n                      },\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{\n                        &quot;linkUrl&quot;:&quot;{site}&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"0f087d7f-520e-42b7-89c0-496aaf979d58\" Order=\"3\" Column=\"2\"\n                />\n                \n                <pnp:CanvasControl\n                  WebPartType=\"Image\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;d1d91016-032f-456d-98a4-721247c305e8&quot;,\n                    &quot;title&quot;:&quot;Image&quot;,\n                    &quot;description&quot;:&quot;Image&quot;,\n                    &quot;dataVersion&quot;:&quot;1.9&quot;,\n                    &quot;properties&quot;:{\n                      &quot;imageSourceType&quot;:2,\n                      &quot;altText&quot;:&quot;Areal view of road and trees&quot;,\n                      &quot;overlayText&quot;:&quot;&quot;,\n                      &quot;fileName&quot;:&quot;consumer-showcase-thumb-2.jpg&quot;,\n                      &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                      &quot;webId&quot;:&quot;{siteid}&quot;,\n                      &quot;listId&quot;:&quot;{listid:Site Assets}&quot;,\n                      &quot;uniqueId&quot;:&quot;956706cc-71be-4ce4-842b-5ce4bcabfc09&quot;,\n                      &quot;imgWidth&quot;:1150,\n                      &quot;imgHeight&quot;:650,\n                      &quot;resizeCoefficient&quot;:1,\n                      &quot;alignment&quot;:&quot;Center&quot;,\n                      &quot;fixAspectRatio&quot;:false,\n                      &quot;captionText&quot;:&quot;&quot;\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{},\n                      &quot;imageSources&quot;:{\n                        &quot;imageSource&quot;:&quot;{site}/SiteAssets/33318-consumer-showcase.jpg&quot;\n                      },\n                      &quot;links&quot;:{},\n                      &quot;customMetadata&quot;:{\n                        &quot;imageSource&quot;:{\n                          &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                          &quot;webId&quot;:&quot;{siteid}&quot;,\n                          &quot;listId&quot;:&quot;{listid:Site Assets}&quot;,\n                          &quot;uniqueId&quot;:&quot;956706cc-71be-4ce4-842b-5ce4bcabfc09&quot;,\n                          &quot;width&quot;:1150,\n                          &quot;height&quot;:650\n                        }\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"d1d91016-032f-456d-98a4-721247c305e8\" Order=\"1\" Column=\"3\"\n                />\n                <pnp:CanvasControl WebPartType=\"Text\" ControlId=\"d57dd55c-d53f-4314-bde0-780415b1794b\" Order=\"2\" Column=\"3\">\n                  <pnp:CanvasControlProperties>\n                    <pnp:CanvasControlProperty\n                      Key=\"Text\"\n                      Value=\"&lt;p&gt;&lt;span class=&quot;fontSizeMediumPlus&quot;&gt;&lt;span class=&quot;fontColorThemePrimary&quot;&gt;&lt;b&gt;SMART &amp;amp; POWERFUL&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Equipped with a smart battery that lasts up to 45 minutes and resists extreme temperatures the high-performance and super quiet drone you can take anywhere.&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;fontColorBlueDark&quot;&gt;&lt;strong&gt;–&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;fontSizeMedium&quot;&gt;&lt;span class=&quot;fontColorBlueDark&quot;&gt;&lt;strong&gt;SLOW MOTION &amp;amp; HYPERLAPSE&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;&lt;em&gt;Speed it up or slow it down, take control of time&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;\" \n                    />\n                  </pnp:CanvasControlProperties>\n                </pnp:CanvasControl>\n                <pnp:CanvasControl\n                  WebPartType=\"Button\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;0f087d7f-520e-42b7-89c0-496aaf979d58&quot;,\n                    &quot;title&quot;:&quot;Button&quot;,\n                    &quot;description&quot;:&quot;Button&quot;,\n                    &quot;dataVersion&quot;:&quot;1.0&quot;,\n                    &quot;properties&quot;:{\n                      &quot;alignment&quot;:&quot;Left&quot;\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;label&quot;:&quot;LEARN MORE&quot;\n                      },\n                      &quot;imageSources&quot;:{},\n                      &quot;links&quot;:{\n                        &quot;linkUrl&quot;:&quot;{site}&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"0f087d7f-520e-42b7-89c0-496aaf979d58\" Order=\"3\" Column=\"3\"\n                />\n              \n              </pnp:Controls>\n            </pnp:Section>\n            \n            <pnp:Section Order=\"4\" Type=\"OneColumn\">\n              <pnp:Controls>\n                <pnp:CanvasControl\n                  WebPartType=\"Hero\"\n                  JsonControlData=\"\n                  {\n                    &quot;id&quot;:&quot;c4bd7b2f-7b6e-4599-8485-16504575f590&quot;,\n                    &quot;title&quot;:&quot;Hero&quot;,\n                    &quot;description&quot;:&quot;Hero&quot;,\n                    &quot;dataVersion&quot;:&quot;1.5&quot;,\n                    &quot;properties&quot;:{\n                      &quot;heroLayoutThreshold&quot;:640,\n                      &quot;carouselLayoutMaxWidth&quot;:639,\n                      &quot;layoutCategory&quot;:2,\n                      &quot;layout&quot;:1,\n                      &quot;content&quot;:[\n                        {\n                          &quot;id&quot;:&quot;a53e698f-def0-400e-90cb-f1098272c322&quot;,\n                          &quot;type&quot;:&quot;UrlLink&quot;,\n                          &quot;color&quot;:4,\n                          &quot;image&quot;:{\n                            &quot;zoomRatio&quot;:1,\n                            &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                            &quot;webId&quot;:&quot;{siteid}&quot;,\n                            &quot;listId&quot;:&quot;{listid:Site Assets}&quot;,\n                            &quot;id&quot;:&quot;36263720-0247-4579-bed2-e5a52175d0e7&quot;,\n                            &quot;imageUrl&quot;:&quot;{site}/SiteAssets/1548836252flysafe-thumb.jpg&quot;,\n                            &quot;widthFactor&quot;:0.58,\n                            &quot;minCanvasWidth&quot;:1\n                          },\n                          &quot;description&quot;:&quot;For the seasoned drone enthusiasts, new hobbyists, to professionals whose industries are rapidly adopting to this cutting-edge technology. Over 20,000 enthusiasts and 400 exhibitors are expected to attend, with 10 professional educational tracks planned with keynote speakers, seminars and panel discussions.&quot;,\n                          &quot;showDescription&quot;:true,\n                          &quot;showTitle&quot;:true,\n                          &quot;imageDisplayOption&quot;:3,\n                          &quot;isDefaultImage&quot;:false,\n                          &quot;showCallToAction&quot;:true,\n                          &quot;isDefaultImageLoaded&quot;:false,\n                          &quot;isCustomImageLoaded&quot;:true,\n                          &quot;featureText&quot;:&quot;FLYSAFE CONFERENCE&quot;,\n                          &quot;showFeatureText&quot;:true,\n                          &quot;previewImage&quot;:{\n                            &quot;zoomRatio&quot;:1,\n                            &quot;imageUrl&quot;:&quot;{site}/SiteAssets/1548836252flysafe-thumb.jpg&quot;,\n                            &quot;widthFactor&quot;:0.58,\n                            &quot;minCanvasWidth&quot;:32767\n                          },\n                          &quot;upperCaseCallToAction&quot;:false,\n                          &quot;alternateText&quot;:&quot;&quot;\n                        },\n                        {\n                          &quot;id&quot;:&quot;11a9e2b1-e519-4e10-9a8e-79e2c47dc2a8&quot;,\n                          &quot;type&quot;:&quot;Image&quot;,\n                          &quot;color&quot;:4,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;showDescription&quot;:true,\n                          &quot;showTitle&quot;:true,\n                          &quot;imageDisplayOption&quot;:0,\n                          &quot;isDefaultImage&quot;:false,\n                          &quot;showCallToAction&quot;:false,\n                          &quot;isDefaultImageLoaded&quot;:false,\n                          &quot;isCustomImageLoaded&quot;:false,\n                          &quot;showFeatureText&quot;:false,\n                          &quot;title&quot;:&quot;&quot;,\n                          &quot;alternateText&quot;:&quot;&quot;\n                        },\n                        {\n                          &quot;id&quot;:&quot;6a62debc-f443-477d-9b6b-ec87d7c19984&quot;,\n                          &quot;type&quot;:&quot;Image&quot;,\n                          &quot;color&quot;:4,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;showDescription&quot;:true,\n                          &quot;showTitle&quot;:true,\n                          &quot;imageDisplayOption&quot;:0,\n                          &quot;isDefaultImage&quot;:false,\n                          &quot;showCallToAction&quot;:false,\n                          &quot;isDefaultImageLoaded&quot;:false,\n                          &quot;isCustomImageLoaded&quot;:false,\n                          &quot;showFeatureText&quot;:false,\n                          &quot;title&quot;:&quot;&quot;,\n                          &quot;alternateText&quot;:&quot;&quot;\n                        },\n                        {\n                          &quot;id&quot;:&quot;58d3d07f-e4bc-4ce1-adfc-32d0f5d972ae&quot;,\n                          &quot;type&quot;:&quot;Image&quot;,\n                          &quot;color&quot;:4,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;showDescription&quot;:true,\n                          &quot;showTitle&quot;:true,\n                          &quot;imageDisplayOption&quot;:0,\n                          &quot;isDefaultImage&quot;:false,\n                          &quot;showCallToAction&quot;:false,\n                          &quot;isDefaultImageLoaded&quot;:false,\n                          &quot;isCustomImageLoaded&quot;:false,\n                          &quot;showFeatureText&quot;:false,\n                          &quot;title&quot;:&quot;&quot;,\n                          &quot;alternateText&quot;:&quot;&quot;\n                        },\n                        {\n                          &quot;id&quot;:&quot;e1461008-d065-4695-b070-7c892513de3c&quot;,\n                          &quot;type&quot;:&quot;Image&quot;,\n                          &quot;color&quot;:4,\n                          &quot;description&quot;:&quot;&quot;,\n                          &quot;showDescription&quot;:true,\n                          &quot;showTitle&quot;:true,\n                          &quot;imageDisplayOption&quot;:0,\n                          &quot;isDefaultImage&quot;:false,\n                          &quot;showCallToAction&quot;:false,\n                          &quot;isDefaultImageLoaded&quot;:false,\n                          &quot;isCustomImageLoaded&quot;:false,\n                          &quot;showFeatureText&quot;:false,\n                          &quot;title&quot;:&quot;&quot;,\n                          &quot;alternateText&quot;:&quot;&quot;\n                        }\n                      ]\n                    },\n                    &quot;serverProcessedContent&quot;:{\n                      &quot;htmlStrings&quot;:{},\n                      &quot;searchablePlainTexts&quot;:{\n                        &quot;content[0].title&quot;:&quot;See the world through a new perspective&quot;,\n                        &quot;content[0].callToActionText&quot;:&quot;REGISTER NOW&quot;\n                      },\n                      &quot;imageSources&quot;:{\n                        &quot;content[0].image.url&quot;:&quot;{site}/SiteAssets/1548836252flysafe-thumb.jpg&quot;,\n                        &quot;content[0].previewImage.url&quot;:&quot;{site}#&quot;\n                      },\n                      &quot;links&quot;:{\n                        &quot;content[0].link&quot;:&quot;{site}#&quot;\n                      },\n                      &quot;customMetadata&quot;:{\n                        &quot;content[0].image.url&quot;:{\n                          &quot;siteId&quot;:&quot;{sitecollectionid}&quot;,\n                          &quot;webId&quot;:&quot;{siteid}&quot;,\n                          &quot;listId&quot;:&quot;{listid:Site Assets}&quot;,\n                          &quot;uniqueId&quot;:&quot;36263720-0247-4579-bed2-e5a52175d0e7&quot;,\n                          &quot;renderWidthRatio&quot;:0.58,\n                          &quot;renderWidthRatioThreshold&quot;:640,\n                          &quot;minCanvasWidth&quot;:1\n                        },\n                        &quot;content[0].previewImage.url&quot;:{\n                          &quot;renderWidthRatio&quot;:0.58,\n                          &quot;renderWidthRatioThreshold&quot;:640,\n                          &quot;minCanvasWidth&quot;:32767\n                        },\n                        &quot;heroLayoutComponentId&quot;:{\n                          &quot;minCanvasWidth&quot;:640\n                        },\n                        &quot;carouselLayoutComponentId&quot;:{\n                          &quot;maxCanvasWidth&quot;:639\n                        }\n                      },\n                      &quot;componentDependencies&quot;:{\n                        &quot;heroLayoutComponentId&quot;:&quot;9586b262-54de-4b27-9eb9-34c671400c33&quot;,\n                        &quot;carouselLayoutComponentId&quot;:&quot;8ac0c53c-e8d0-4e3e-87d0-7449eb0d4027&quot;\n                      }\n                    },\n                    &quot;dynamicDataPaths&quot;:{},\n                    &quot;dynamicDataValues&quot;:{}\n                  }\"\n                  ControlId=\"c4bd7b2f-7b6e-4599-8485-16504575f590\" Order=\"1\" Column=\"1\" \n                />\n              </pnp:Controls>\n            </pnp:Section>\n          </pnp:Sections>\n        </pnp:ClientSidePage>\n        \n        <pnp:ClientSidePage PageName=\"About-Us.aspx\" Title=\"About Us\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/hero.jpg\" TranslateX=\"42.3837520042758\" TranslateY=\"56.4285714285714\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"HR.aspx\" Title=\"About Us\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/page-hr.jpg\" TranslateX=\"44.5216461785142\" TranslateY=\"53.9285714285714\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"People-Directory.aspx\" Title=\"People Directory\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/page-people-directory.jpg\" TranslateX=\"50.1336183858899\" TranslateY=\"30\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"My-Profile.aspx\" Title=\"My Profile\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/page-my-profile.jpg\" TranslateX=\"46.4457509353287\" TranslateY=\"38.2142857142857\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"Travel-Instructions.aspx\" Title=\"Travel Instructions\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/page-travel-instructions.jpg\" TranslateX=\"51.6835916622127\" TranslateY=\"67.8571428571429\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"Financial-Results.aspx\" Title=\"Financial Results\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/page-financial-results.jpg\" TranslateX=\"50.0801710315339\" TranslateY=\"75.7142857142857\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"FAQ.aspx\" Title=\"FAQ\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/page-faq.jpg\" TranslateX=\"45.6440406199893\" TranslateY=\"64.2857142857143\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"Training.aspx\" Title=\"Training\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/page-training.jpg\" TranslateX=\"51.4163548904329\" TranslateY=\"15.3571428571429\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"Support.aspx\" Title=\"Support\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/page-support.jpg\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"Feedback.aspx\" Title=\"Feedback\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/page-feedback.jpg\" TranslateX=\"48.9043292357028\" TranslateY=\"33.2142857142857\" />\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage PageName=\"Personal.aspx\" Title=\"Personal\" Layout=\"Article\" PromoteAsNewsArticle=\"false\" Overwrite=\"true\" EnableComments=\"false\" Publish=\"true\">\n          <pnp:Header Type=\"Custom\" ServerRelativeImageUrl=\"{site}/SiteAssets/modernOffice_002.jpg\" TranslateX=\"22.0604099244876\" TranslateY=\"49.6428571428571\" />\n          <pnp:Sections>\n            <pnp:Section Order=\"1\" Type=\"ThreeColumn\">\n              <pnp:Controls>\n                <!-- personalCalendar -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"6d28e73b-ed80-494e-8238-c0106c26b36a\" Order=\"1\" Column=\"1\" />\n                <!-- personalContacts -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"156030ad-510a-49b6-b1ef-33097667c829\" Order=\"2\" Column=\"1\" />\n                <!-- personalTasks -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"9eac8961-60e7-45b8-990e-175340d7c4a0\" Order=\"1\" Column=\"2\" />\n                <!-- personalEmail -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"0a4ad3e5-1677-4829-b173-55cbb3ffc317\" Order=\"2\" Column=\"2\" />\n                <!-- Followed Sites -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"93c8302a-ab02-4a85-8cc2-184eb0e4e13d\" Order=\"1\" Column=\"3\" />\n                <!-- recentlyUsedDocuments -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"7b36c4ce-93b6-4f4a-8e66-d760a172333c\" Order=\"2\" Column=\"3\" />\n                <!-- recentlyVisitedSites -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"49089f35-4213-425b-a5c0-706b25803484\" Order=\"3\" Column=\"3\" />\n              </pnp:Controls>\n            </pnp:Section>\n            <pnp:Section Order=\"2\" Type=\"OneColumn\">\n              <pnp:Controls>\n                <!-- peopleDirectory -->\n                <pnp:CanvasControl WebPartType=\"Custom\" ControlId=\"52b26049-6e2e-4302-8258-e9f8861a881f\" Order=\"1\" Column=\"1\" />\n              </pnp:Controls>\n            </pnp:Section>\n          </pnp:Sections>\n        </pnp:ClientSidePage>\n        \n        \n        <pnp:ClientSidePage Layout=\"Article\" Overwrite=\"true\" PromoteAsNewsArticle=\"true\" PageName=\"Meeting-on-Marketing-In-Non-English-Speaking-Markets-This-Friday\" Publish=\"true\" Title=\"Meeting on Marketing In Non-English-Speaking Markets This Friday\">\n          <pnp:Header ServerRelativeImageUrl=\"{site}/SiteAssets/MSSurface_Pro4_SMB_Seattle_0578.jpg\" Type=\"Custom\" TranslateX=\"44.4279786603438\" TranslateY=\"28.9285714285714\"/>\n          <pnp:Sections>\n            <pnp:Section Type=\"OneColumn\">\n              <pnp:Controls>\n                <pnp:CanvasControl WebPartType=\"Text\" Order=\"1\" Column=\"1\">\n                  <pnp:CanvasControlProperties>\n                    <pnp:CanvasControlProperty Key=\"Text\" Value=\"Please attend this department-wide meeting next Thursday at 4:00PM in conference room seven. We will be discussing tactics on how to effectively create marketing campaigns in our new international markets.\"/>\n                  </pnp:CanvasControlProperties>\n                </pnp:CanvasControl>\n              </pnp:Controls>\n            </pnp:Section>\n          </pnp:Sections>\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage Layout=\"Article\" Overwrite=\"true\" PromoteAsNewsArticle=\"true\" PageName=\"Marketing-Lunch\" Publish=\"true\" Title=\"Marketing lunch\">\n          <pnp:Header ServerRelativeImageUrl=\"{site}/SiteAssets/Commercial16_smallmeeting_02.jpg\" Type=\"Custom\" TranslateX=\"43.1238885595732\" TranslateY=\"28.5714285714286\"/>\n          <pnp:Sections>\n            <pnp:Section Type=\"OneColumn\">\n              <pnp:Controls>\n                <pnp:CanvasControl WebPartType=\"Text\" Order=\"1\" Column=\"1\">\n                  <pnp:CanvasControlProperties>\n                    <pnp:CanvasControlProperty Key=\"Text\" Value=\"There is a lunch for the Marketing team Next Tuesday at 12:30PM. All Marketing team members should attend, as we will be talking about some of the new projects that we hope to put through for the holiday season.\"/>\n                  </pnp:CanvasControlProperties>\n                </pnp:CanvasControl>\n              </pnp:Controls>\n            </pnp:Section>\n          </pnp:Sections>\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage Layout=\"Article\" Overwrite=\"true\" PromoteAsNewsArticle=\"true\" PageName=\"New-International-Marketing-Initiatives\" Publish=\"true\" Title=\"New International Marketing Initiatives\">\n          <pnp:Header ServerRelativeImageUrl=\"{site}/SiteAssets/Win17_15021_00_N9.jpg\" Type=\"Custom\" TranslateX=\"35.8006487761722\" TranslateY=\"55.3571428571429\" />\n          <pnp:Sections>\n            <pnp:Section Type=\"OneColumn\">\n              <pnp:Controls>\n                <pnp:CanvasControl WebPartType=\"Text\" Order=\"1\" Column=\"1\">\n                  <pnp:CanvasControlProperties>\n                    <pnp:CanvasControlProperty Key=\"Text\" Value=\"We will be releasing a new international marketing campaign in the coming weeks. Look for more details here.​\"/>\n                  </pnp:CanvasControlProperties>\n                </pnp:CanvasControl>\n              </pnp:Controls>\n            </pnp:Section>\n          </pnp:Sections>\n        </pnp:ClientSidePage>\n        <pnp:ClientSidePage Layout=\"Article\" Overwrite=\"true\" PromoteAsNewsArticle=\"true\" PageName=\"New-Portal\" Publish=\"true\" Title=\"New intranet portal\">\n          <pnp:Header ServerRelativeImageUrl=\"{site}/SiteAssets/WCO18_ITHelp_004.jpg\" Type=\"Custom\" TranslateX=\"38.0713653789443\" TranslateY=\"66.7857142857143\"/>\n          <pnp:Sections>\n            <pnp:Section Type=\"OneColumn\">\n              <pnp:Controls>\n                <pnp:CanvasControl WebPartType=\"Text\" Order=\"1\" Column=\"1\">\n                  <pnp:CanvasControlProperties>\n                    <pnp:CanvasControlProperty Key=\"Text\" Value=\"We are happy to announce availability of this new Intranet portal. Please do give us feedback!\"/>\n                  </pnp:CanvasControlProperties>\n                </pnp:CanvasControl>\n              </pnp:Controls>\n            </pnp:Section>\n          </pnp:Sections>\n        </pnp:ClientSidePage>\n      </pnp:ClientSidePages>\n      \n      <pnp:Lists>\n        <pnp:ListInstance Title=\"{resource:EventsListTitle}\" Description=\"\" DocumentTemplate=\"\" TemplateType=\"106\" Url=\"Lists/Events\" MinorVersionLimit=\"0\" MaxVersionLimit=\"0\" DraftVersionVisibility=\"0\" TemplateFeatureID=\"00bfea71-ec85-4903-972d-ebe475780106\" ContentTypesEnabled=\"true\" EnableFolderCreation=\"false\" ImageUrl=\"/_layouts/15/images/itevent.png?rev=44\" IsApplicationList=\"false\" ValidationFormula=\"\" ValidationMessage=\"\">\n          <pnp:ContentTypeBindings>\n            <pnp:ContentTypeBinding ContentTypeID=\"0x0102\" Default=\"true\" />\n          </pnp:ContentTypeBindings>\n          <pnp:Views>\n            <View Name=\"{7FF4BBC1-43D7-41E7-8F9E-F18F28ED8FE1}\" DefaultView=\"TRUE\" MobileView=\"TRUE\" MobileDefaultView=\"TRUE\" Type=\"CALENDAR\" TabularView=\"FALSE\" RecurrenceRowset=\"TRUE\" DisplayName=\"Calendar\" Url=\"/sites/portal/Lists/Events/calendar.aspx\" Level=\"1\" BaseViewID=\"2\" ContentTypeID=\"0x\" MobileUrl=\"_layouts/15/mobile/viewdaily.aspx\" ImageUrl=\"/_layouts/15/images/events.png?rev=44\">\n              <Query>\n                <Where>\n                  <DateRangesOverlap>\n                    <FieldRef Name=\"EventDate\" />\n                    <FieldRef Name=\"EndDate\" />\n                    <FieldRef Name=\"RecurrenceID\" />\n                    <Value Type=\"DateTime\">\n                      <Month />\n                    </Value>\n                  </DateRangesOverlap>\n                </Where>\n              </Query>\n              <ViewFields>\n                <FieldRef Name=\"EventDate\" />\n                <FieldRef Name=\"EndDate\" />\n                <FieldRef Name=\"fRecurrence\" />\n                <FieldRef Name=\"EventType\" />\n                <FieldRef Name=\"WorkspaceLink\" />\n                <FieldRef Name=\"Title\" />\n                <FieldRef Name=\"Location\" />\n                <FieldRef Name=\"Description\" />\n                <FieldRef Name=\"Workspace\" />\n                <FieldRef Name=\"MasterSeriesItemID\" />\n                <FieldRef Name=\"fAllDayEvent\" />\n              </ViewFields>\n            </View>\n            <View Name=\"{3D82A43A-7FB9-44CF-AD79-6391D9F79A6A}\" MobileView=\"TRUE\" Type=\"HTML\" DisplayName=\"All Events\" Level=\"1\" BaseViewID=\"1\" ContentTypeID=\"0x\" ImageUrl=\"/_layouts/15/images/events.png?rev=44\">\n              <Query>\n                <OrderBy>\n                  <FieldRef Name=\"EventDate\" />\n                </OrderBy>\n              </Query>\n              <ViewFields>\n                <FieldRef Name=\"fRecurrence\" />\n                <FieldRef Name=\"WorkspaceLink\" />\n                <FieldRef Name=\"LinkTitle\" />\n                <FieldRef Name=\"Location\" />\n                <FieldRef Name=\"EventDate\" />\n                <FieldRef Name=\"EndDate\" />\n                <FieldRef Name=\"fAllDayEvent\" />\n              </ViewFields>\n              <RowLimit Paged=\"TRUE\">30</RowLimit>\n              <JSLink>clienttemplates.js</JSLink>\n            </View>\n            <View Name=\"{91888699-A7B0-4DB8-8DEA-D820A3C43D27}\" MobileView=\"TRUE\" Type=\"HTML\" RecurrenceRowset=\"TRUE\" DisplayName=\"Current Events\" Level=\"1\" BaseViewID=\"3\" ContentTypeID=\"0x\" ImageUrl=\"/_layouts/15/images/events.png?rev=44\">\n              <Query>\n                <Where>\n                  <DateRangesOverlap>\n                    <FieldRef Name=\"EventDate\" />\n                    <FieldRef Name=\"EndDate\" />\n                    <FieldRef Name=\"RecurrenceID\" />\n                    <Value Type=\"DateTime\">\n                      <Now />\n                    </Value>\n                  </DateRangesOverlap>\n                </Where>\n                <OrderBy>\n                  <FieldRef Name=\"EventDate\" />\n                </OrderBy>\n              </Query>\n              <ViewFields>\n                <FieldRef Name=\"fRecurrence\" />\n                <FieldRef Name=\"WorkspaceLink\" />\n                <FieldRef Name=\"LinkTitle\" />\n                <FieldRef Name=\"Location\" />\n                <FieldRef Name=\"EventDate\" />\n                <FieldRef Name=\"EndDate\" />\n                <FieldRef Name=\"fAllDayEvent\" />\n              </ViewFields>\n              <JSLink>clienttemplates.js</JSLink>\n            </View>\n          </pnp:Views>\n          <pnp:FieldRefs>\n            <pnp:FieldRef ID=\"288f5f32-8462-4175-8f09-dd7ba29359a9\" Name=\"Location\" DisplayName=\"Location\" />\n            <pnp:FieldRef ID=\"64cd368d-2f95-4bfc-a1f9-8d4324ecb007\" Name=\"EventDate\" Required=\"true\" DisplayName=\"Start Time\" />\n            <pnp:FieldRef ID=\"2684f9f2-54be-429f-ba06-76754fc056bf\" Name=\"EndDate\" Required=\"true\" DisplayName=\"End Time\" />\n            <pnp:FieldRef ID=\"9da97a8a-1da5-4a77-98d3-4bc10456e700\" Name=\"Description\" DisplayName=\"Description\" />\n            <pnp:FieldRef ID=\"7d95d1f4-f5fd-4a70-90cd-b35abc9b5bc8\" Name=\"fAllDayEvent\" DisplayName=\"All Day Event\" />\n            <pnp:FieldRef ID=\"f2e63656-135e-4f1c-8fc2-ccbe74071901\" Name=\"fRecurrence\" DisplayName=\"Recurrence\" />\n            <pnp:FieldRef ID=\"6df9bd52-550e-4a30-bc31-a4366832a87d\" Name=\"Category\" DisplayName=\"Category\" />\n          </pnp:FieldRefs>\n          <pnp:FieldDefaults>\n            <pnp:FieldDefault FieldName=\"Category\" />\n          </pnp:FieldDefaults>\n          <pnp:DataRows KeyColumn=\"Title\" UpdateBehavior=\"Overwrite\">\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">SharePoint Conference North America</pnp:DataValue>\n              <pnp:DataValue FieldName=\"fAllDayEvent\">true</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EventDate\">2018-05-21 00:00:00</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EndDate\">2018-05-23 23:59:00</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">European Collaboration Summit</pnp:DataValue>\n              <pnp:DataValue FieldName=\"fAllDayEvent\">true</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EventDate\">2018-05-28 00:00:00</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EndDate\">2018-05-30 23:59:00</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">Microsoft Ignite</pnp:DataValue>\n              <pnp:DataValue FieldName=\"fAllDayEvent\">true</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EventDate\">2018-09-24 00:00:00</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EndDate\">2018-09-28 23:59:00</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">European SharePoint Conference</pnp:DataValue>\n              <pnp:DataValue FieldName=\"fAllDayEvent\">true</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EventDate\">2018-11-26 00:00:00</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EndDate\">2018-11-29 23:59:00</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">SharePoint Conference</pnp:DataValue>\n              <pnp:DataValue FieldName=\"fAllDayEvent\">true</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EventDate\">2019-05-21 00:00:00</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EndDate\">2019-05-23 23:59:00</pnp:DataValue>\n            </pnp:DataRow>\n            <pnp:DataRow>\n              <pnp:DataValue FieldName=\"Title\">European Collaboration Summit</pnp:DataValue>\n              <pnp:DataValue FieldName=\"fAllDayEvent\">true</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EventDate\">2019-05-27 00:00:00</pnp:DataValue>\n              <pnp:DataValue FieldName=\"EndDate\">2019-05-29 23:59:00</pnp:DataValue>\n            </pnp:DataRow>\n          </pnp:DataRows>\n        </pnp:ListInstance>\n        <pnp:ListInstance Title=\"Alerts\" Description=\"\" DocumentTemplate=\"\" TemplateType=\"100\" Url=\"Lists/Alerts\" MinorVersionLimit=\"0\" MaxVersionLimit=\"0\" DraftVersionVisibility=\"0\" TemplateFeatureID=\"00bfea71-de22-43b2-a848-c05709900100\" ContentTypesEnabled=\"true\" EnableFolderCreation=\"false\" ImageUrl=\"/_layouts/15/images/itgen.png?rev=44\" IsApplicationList=\"false\" ValidationFormula=\"\" ValidationMessage=\"\" RemoveExistingContentTypes=\"true\">\n          <pnp:ContentTypeBindings>\n            <pnp:ContentTypeBinding ContentTypeID=\"0x01007926A45D687BA842B947286090B8F67D\" Default=\"true\" />\n          </pnp:ContentTypeBindings>\n          <pnp:Views>\n            <View Name=\"{B58003B2-BEEC-464E-AD61-ADE2231CF36D}\" DefaultView=\"TRUE\" MobileView=\"TRUE\" MobileDefaultView=\"TRUE\" Type=\"HTML\" DisplayName=\"All Items\" Level=\"1\" BaseViewID=\"1\" ContentTypeID=\"0x\" ImageUrl=\"/_layouts/15/images/generic.png?rev=44\">\n              <Query>\n                <OrderBy>\n                  <FieldRef Name=\"ID\" />\n                </OrderBy>\n              </Query>\n              <ViewFields>\n                <FieldRef Name=\"LinkTitle\" />\n                <FieldRef Name=\"PnPAlertType\" />\n                <FieldRef Name=\"PnPAlertMessage\" />\n                <FieldRef Name=\"PnPAlertStartDateTime\" />\n                <FieldRef Name=\"PnPAlertEndDateTime\" />\n                <FieldRef Name=\"PnPAlertMoreInformation\" />\n              </ViewFields>\n              <RowLimit Paged=\"TRUE\">30</RowLimit>\n              <Aggregations Value=\"Off\" />\n              <JSLink>clienttemplates.js</JSLink>\n            </View>\n          </pnp:Views>\n          <pnp:FieldRefs>\n            <pnp:FieldRef ID=\"ebe7e498-44ff-43da-a7e5-99b444f656a5\" Name=\"PnPAlertType\" DisplayName=\"Alert type\" />\n            <pnp:FieldRef ID=\"f056406b-b46b-4a94-8503-361de4ca2752\" Name=\"PnPAlertMessage\" DisplayName=\"Alert message\" />\n            <pnp:FieldRef ID=\"5ee2dd25-d941-455a-9bdb-7f2c54aed11b\" Name=\"PnPAlertStartDateTime\" DisplayName=\"Start date-time\" />\n            <pnp:FieldRef ID=\"b0d8c6ed-2487-43e7-a716-bf274f0d5e09\" Name=\"PnPAlertEndDateTime\" DisplayName=\"End date-time\" />\n            <pnp:FieldRef ID=\"6085e32a-339b-4da7-ab6d-c1e013e5ab27\" Name=\"PnPAlertMoreInformation\" DisplayName=\"More information link\" />\n          </pnp:FieldRefs>\n        </pnp:ListInstance>\n        <pnp:ListInstance Title=\"Site Assets\" Description=\"Use this library to store files which are included on pages within this site, such as images on Wiki pages.\" TemplateType=\"101\" Url=\"SiteAssets\" EnableVersioning=\"true\" MinorVersionLimit=\"0\" MaxVersionLimit=\"500\" DraftVersionVisibility=\"0\" TemplateFeatureID=\"00bfea71-e717-4e80-aa17-d0c71b360101\" EnableAttachments=\"false\" ImageUrl=\"/_layouts/15/images/itdl.png?rev=44\" IsApplicationList=\"true\" ValidationFormula=\"\" ValidationMessage=\"\">\n          <pnp:ContentTypeBindings>\n            <pnp:ContentTypeBinding ContentTypeID=\"0x0101\" Default=\"true\" />\n            <pnp:ContentTypeBinding ContentTypeID=\"0x0120\" />\n          </pnp:ContentTypeBindings>\n          <pnp:Views>\n            <View Name=\"{6CB9B9C6-9CBA-4190-8833-CB49C527E52A}\" DefaultView=\"TRUE\" MobileView=\"TRUE\" MobileDefaultView=\"TRUE\" Type=\"HTML\" DisplayName=\"All Documents\" Level=\"1\" BaseViewID=\"1\" ContentTypeID=\"0x\" ImageUrl=\"/_layouts/15/images/dlicon.png?rev=44\">\n              <Query>\n                <OrderBy>\n                  <FieldRef Name=\"FileLeafRef\" />\n                </OrderBy>\n              </Query>\n              <ViewFields>\n                <FieldRef Name=\"DocIcon\" />\n                <FieldRef Name=\"LinkFilename\" />\n                <FieldRef Name=\"Modified\" />\n                <FieldRef Name=\"Editor\" />\n              </ViewFields>\n              <RowLimit Paged=\"TRUE\">30</RowLimit>\n              <JSLink>clienttemplates.js</JSLink>\n            </View>\n          </pnp:Views>\n          <pnp:Fields>\n            <Field ID=\"{d1cff744-ba61-4189-94d6-97d0a9eb4f6a}\" Type=\"Text\" DisplayName=\"MediaServiceAutoTags\" Name=\"MediaServiceAutoTags\" Group=\"_Hidden\" Hidden=\"FALSE\" Sealed=\"TRUE\" ReadOnly=\"TRUE\" ShowInNewForm=\"FALSE\" ShowInDisplayForm=\"FALSE\" ShowInEditForm=\"FALSE\" ShowInListSettings=\"FALSE\" Viewable=\"FALSE\" Json=\"FALSE\" SourceID=\"{{listid:Site Assets}}\" StaticName=\"MediaServiceAutoTags\" ColName=\"nvarchar14\" RowOrdinal=\"0\" />\n          </pnp:Fields>\n          <pnp:FieldRefs>\n            <pnp:FieldRef ID=\"3a6b296c-3f50-445c-a13f-9c679ea9dda3\" Name=\"ComplianceAssetId\" DisplayName=\"Compliance Asset Id\" />\n            <pnp:FieldRef ID=\"ccc1037f-f65e-434a-868e-8c98af31fe29\" Name=\"_ComplianceFlags\" DisplayName=\"Label setting\" />\n            <pnp:FieldRef ID=\"d4b6480a-4bed-4094-9a52-30181ea38f1d\" Name=\"_ComplianceTag\" DisplayName=\"Labels\" />\n            <pnp:FieldRef ID=\"92be610e-ddbb-49f4-b3b1-5c2bc768df8f\" Name=\"_ComplianceTagWrittenTime\" DisplayName=\"Label Applied\" />\n            <pnp:FieldRef ID=\"418d7676-2d6f-42cf-a16a-e43d2971252a\" Name=\"_ComplianceTagUserId\" DisplayName=\"Label applied by\" />\n            <pnp:FieldRef ID=\"8382d247-72a9-44b1-9794-7b177edc89f3\" Name=\"_IsRecord\" DisplayName=\"Item is a Record\" />\n            <pnp:FieldRef ID=\"d307dff3-340f-44a2-9f4b-fbfe1ba07459\" Name=\"_CommentCount\" DisplayName=\"Comment count\" />\n            <pnp:FieldRef ID=\"db8d9d6d-dc9a-4fbd-85f3-4a753bfdc58c\" Name=\"_LikeCount\" DisplayName=\"Like count\" />\n          </pnp:FieldRefs>\n        </pnp:ListInstance>\n      </pnp:Lists>\n      \n      <pnp:CustomActions>\n        <pnp:WebCustomActions>\n          <pnp:CustomAction Name=\"PortalFooter\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"df889434-1b1c-4f5b-ada3-086d948e4270\" RegistrationType=\"None\" ClientSideComponentProperties=\"{&quot;linksListTitle&quot;:&quot;PnP-PortalFooter-Links&quot;,&quot;copyright&quot;:&quot;Ⓒ Copyright Contoso, 2019-2020&quot;,&quot;support&quot;:&quot;support@contoso.com&quot;,&quot;personalItemsStorageProperty&quot;:&quot;PnP-CollabFooter-MyLinks&quot;}\"/>\n          <pnp:CustomAction Name=\"Redirect\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"27f45dfa-839e-45c2-a379-fbfe627ed97c\" RegistrationType=\"None\" ClientSideComponentProperties=\"{&quot;redirectionsListTitle&quot;:&quot;PnP Redirect Links&quot;}\"/>\n          <pnp:CustomAction Name=\"Alerts\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"29df5d8b-1d9b-4d32-971c-d66162396ed3\" RegistrationType=\"None\" />\n\n          <!-- siteClassification (depricated - now provided OOTB inline in header-->\n          <!--\n          <pnp:CustomAction Name=\"SiteClassification\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"7f69d5cb-5aeb-4bc6-9f77-146aebfd9a8e\" Sequence=\"1\" RegistrationType=\"None\" />\n          -->\n        </pnp:WebCustomActions>\n      </pnp:CustomActions>\n      <pnp:Files>\n        <pnp:File Src=\"resources\\images\\modernOffice_002.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\modernOffice_007.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\modernOffice_011.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\hero.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\page-people-directory.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\page-faq.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\page-feedback.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\page-financial-results.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\page-hr.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\page-my-profile.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\page-travel-instructions.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\page-support.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\page-training.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\working-methods.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\meeting-rooms.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\work-life-balance.png\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\Commercial16_smallmeeting_02.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\MSSurface_Pro4_SMB_Seattle_0578.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\WCO18_ITHelp_004.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\WCO18_whiteboard_002.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\Win17_15021_00_N9.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\documents\\contoso_report.pptx\" Overwrite=\"true\" Folder=\"{resource:SharedDocumentsFolder}\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\contoso_sitelogo.png\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\1548836252flysafe-thumb.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\33318-consumer-showcase.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\27137-consumer-showcase.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n        <pnp:File Src=\"resources\\images\\23363-showcase.jpg\" Overwrite=\"true\" Folder=\"SiteAssets\"></pnp:File>\n      </pnp:Files>\n    </pnp:ProvisioningTemplate>\n    \n    \n    <pnp:ProvisioningTemplate ID=\"COLLAB-TEMPLATE\" Version=\"1.0\" BaseSiteTemplate=\"GROUP#0\" ImagePreviewUrl=\"https://preview.png\" DisplayName=\"SP Portal Showcase\" Description=\"\" Scope=\"RootSite\" TemplateCultureInfo=\"1033\">\n      <pnp:WebSettings HubSiteUrl=\"{sequenceSiteUrl:PORTAL}\"/>\n      <pnp:CustomActions>\n        <pnp:WebCustomActions>\n          <pnp:CustomAction Title=\"CollabFooter\" Name=\"CollabFooter\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"6638da67-06f4-4f55-a1df-485d568e8b72\" RegistrationType=\"None\" ClientSideComponentProperties=\"{&quot;sourceTermSet&quot;:&quot;PnP-CollabFooter-SharedLinks&quot;,&quot;personalItemsStorageProperty&quot;:&quot;PnP-CollabFooter-MyLinks&quot;}\" />\n          <pnp:CustomAction Name=\"Redirect\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"27f45dfa-839e-45c2-a379-fbfe627ed97c\" RegistrationType=\"None\" ClientSideComponentProperties=\"{&quot;redirectionsListTitle&quot;:&quot;PnP Redirect Links&quot;}\"/>\n          <pnp:CustomAction Name=\"Alerts\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"29df5d8b-1d9b-4d32-971c-d66162396ed3\" RegistrationType=\"None\" ClientSideComponentProperties=\"{}\"/>\n          <pnp:CustomAction Title=\"DiscussNow\" Name=\"DiscussNow\" RegistrationType=\"List\" RegistrationId=\"101\" Location=\"ClientSideExtension.ListViewCommandSet\" ClientSideComponentId=\"84de6bad-859f-4c3b-934c-f6c6ae935c72\" />\n\n          <!-- siteClassification (depricated - now provided OOTB inline in header)-->\n          <!--\n          <pnp:CustomAction Title=\"SiteClassification\" Name=\"SiteClassification\" Location=\"ClientSideExtension.ApplicationCustomizer\" ClientSideComponentId=\"7f69d5cb-5aeb-4bc6-9f77-146aebfd9a8e\" Sequence=\"1\" RegistrationType=\"None\" />\n          -->\n        </pnp:WebCustomActions>\n      </pnp:CustomActions>\n    </pnp:ProvisioningTemplate>\n    <pnp:ProvisioningTemplate ID=\"COLLAB-HR-LOGO-TEMPLATE\" Version=\"1.0\" BaseSiteTemplate=\"GROUP#0\" ImagePreviewUrl=\"https://preview.png\" DisplayName=\"SP Portal Showcase\" Description=\"\" Scope=\"RootSite\" TemplateCultureInfo=\"1033\">\n      <pnp:WebSettings SiteLogo=\"resources\\images\\logo_hr.png\" />\n    </pnp:ProvisioningTemplate>\n    <pnp:ProvisioningTemplate ID=\"COLLAB-MARKETING-LOGO-TEMPLATE\" Version=\"1.0\" BaseSiteTemplate=\"GROUP#0\" ImagePreviewUrl=\"https://preview.png\" DisplayName=\"SP Portal Showcase\" Description=\"\" Scope=\"RootSite\" TemplateCultureInfo=\"1033\">\n      <pnp:WebSettings SiteLogo=\"resources\\images\\logo_marketing.png\" />\n    </pnp:ProvisioningTemplate>\n    <pnp:ProvisioningTemplate ID=\"STARTERKIT-THEME\" Version=\"1.0\" DisplayName=\"StarterKit Theme\" Description=\"\" TemplateCultureInfo=\"1033\">\n      <pnp:Theme Name=\"StarterKit Theme\" IsInverted=\"false\">\n        {\n        \"neutralQuaternaryAlt\": \"#dadada\",\n        \"themeLighterAlt\": \"#f1f9fb\",\n        \"themeSecondary\": \"#168caa\",\n        \"themePrimary\": \"#017e9d\",\n        \"bodyText\": \"#333333\",\n        \"themeDarker\": \"#014759\",\n        \"themeDark\": \"#016078\",\n        \"themeLight\": \"#9fd5e2\",\n        \"error\": \"#e93333\",\n        \"neutralLighter\": \"#f4f4f4\",\n        \"neutralLighterAlt\": \"#f8f8f8\",\n        \"themeLighter\": \"#cae8ef\",\n        \"themeDarkAlt\": \"#01728e\",\n        \"themeTertiary\": \"#50adc5\",\n        \"primaryText\": \"#333333\",\n        \"accent\": \"#864B7A\",\n        \"bodyBackground\": \"#ffffff\",\n        \"neutralSecondary\": \"#858585\",\n        \"neutralQuaternary\": \"#d0d0d0\",\n        \"neutralLight\": \"#eaeaea\",\n        \"neutralPrimaryAlt\": \"#4b4b4b\",\n        \"white\": \"#ffffff\",\n        \"neutralDark\": \"#272727\",\n        \"neutralPrimary\": \"#333333\",\n        \"neutralTertiaryAlt\": \"#c8c8c8\",\n        \"neutralTertiary\": \"#c2c2c2\",\n        \"black\": \"#1d1d1d\"\n        }\n      </pnp:Theme>\n    </pnp:ProvisioningTemplate>\n    <pnp:ProvisioningTemplate ID=\"STARTERKIT-MARKETING-THEME\" Version=\"1.0\" BaseSiteTemplate=\"GROUP#0\" DisplayName=\"StarterKit Theme\" Description=\"\" TemplateCultureInfo=\"1033\">\n      <pnp:Theme Name=\"StarterKit Marketing Theme\" IsInverted=\"false\">\n        {\n        \"neutralQuaternaryAlt\": \"#dadada\",\n        \"themeLighterAlt\": \"#fdf7f4\",\n        \"themeSecondary\": \"#d06228\",\n        \"themePrimary\": \"#ca5010\",\n        \"bodyText\": \"#333333\",\n        \"themeDarker\": \"#712d09\",\n        \"themeDark\": \"#993e0c\",\n        \"themeLight\": \"#efc4ad\",\n        \"error\": \"#e93333\",\n        \"neutralLighter\": \"#f4f4f4\",\n        \"neutralLighterAlt\": \"#f8f8f8\",\n        \"themeLighter\": \"#f6dfd2\",\n        \"themeDarkAlt\": \"#b5490f\",\n        \"themeTertiary\": \"#df8f64\",\n        \"primaryText\": \"#333333\",\n        \"accent\": \"#7A7574\",\n        \"bodyBackground\": \"#ffffff\",\n        \"neutralSecondary\": \"#858585\",\n        \"neutralQuaternary\": \"#d0d0d0\",\n        \"neutralLight\": \"#eaeaea\",\n        \"neutralPrimaryAlt\": \"#4b4b4b\",\n        \"white\": \"#ffffff\",\n        \"neutralDark\": \"#272727\",\n        \"neutralPrimary\": \"#333333\",\n        \"neutralTertiaryAlt\": \"#c8c8c8\",\n        \"neutralTertiary\": \"#c2c2c2\",\n        \"black\": \"#1d1d1d\"\n        }\n      </pnp:Theme>\n    </pnp:ProvisioningTemplate>\n  </pnp:Templates>\n</pnp:Provisioning>\n"
  }
]