<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>csharp ppt editing on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/tag/csharp-ppt-editing/</link>
    <description>Recent content in csharp ppt editing on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Wed, 09 Sep 2026 12:31:52 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/tag/csharp-ppt-editing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Edit Powerpoint Presentations in C#</title>
      <link>https://blog-qa.groupdocs.cloud/editor/edit-powerpoint-presentations-in-csharp/</link>
      <pubDate>Wed, 09 Sep 2026 12:31:52 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/editor/edit-powerpoint-presentations-in-csharp/</guid>
      <description>Edit PowerPoint presentations in C# using GroupDocs.Editor Cloud SDK for .NET. This guide covers setup, running code, cURL REST calls, and tweaks slide editing.</description>
      <content:encoded><![CDATA[<p>Editing PowerPoint presentations in C# is a frequent need for developers building dynamic slide decks. <a href="https://products.groupdocs.cloud/editor/net/">GroupDocs.Editor Cloud SDK for .NET</a> provides a powerful API that lets you modify <a href="https://docs.fileformat.com/presentation/pptx/">PPTX</a> files directly from your .NET application. In this guide you will learn how to set up the SDK, replace placeholder texts, run the edit operation, and fine‑tune options, plus see a full code sample and matching cURL REST workflow.</p>
<h2 id="what-powerpoint-automation-in-c-requires">What PowerPoint Automation in C# Requires</h2>
<p>Enterprises often generate slide decks from templates where titles, subtitles, or data fields need to be updated automatically. The requirements for a robust solution include:</p>
<ul>
<li>Ability to locate and replace specific text strings inside PPTX files.</li>
<li>Support for cloud‑based processing so the code runs on any server without installing Office.</li>
<li>Clear error handling and easy configuration of input and output paths.</li>
</ul>
<p>Manual editing or using generic file‑system scripts cannot guarantee consistency across dozens of presentations, especially when the content changes frequently.</p>
<h2 id="the-approach-cloudbased-powerpoint-editing">The Approach: Cloud‑Based PowerPoint Editing</h2>
<p><a href="https://products.groupdocs.cloud/editor/net/">GroupDocs.Editor Cloud SDK for .NET</a> addresses these needs with a REST‑driven API that works entirely in the cloud. Key capabilities include:</p>
<ul>
<li><strong>EditDocument</strong> - Replace text, images, or shapes in PPTX files without downloading the whole document.</li>
<li><strong>FileInfo</strong> - Specify source files stored in GroupDocs Cloud storage.</li>
<li><strong>EditDocumentOptions</strong> - Define output location and a list of text replacements.</li>
</ul>
<p>The SDK handles authentication, file streaming, and format‑preserving edits, allowing you to focus on business logic. Detailed documentation is available at the <a href="https://docs.groupdocs.cloud/editor/">official documentation</a>.</p>
<h2 id="implementing-edit-powerpoint-presentations-in-c-with-groupdocseditor-cloud">Implementing edit PowerPoint Presentations in C# with GroupDocs.Editor Cloud</h2>
<p>Below is a step‑by‑step walkthrough. Each step includes a short code excerpt taken directly from the full example.</p>
<h3 id="install-the-sdk-and-add-the-nuget-package">Install the SDK and Add the NuGet Package</h3>
<p>First, add the library to your project.</p>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>dotnet add package GroupDocs.editor-Cloud
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>You can also download the latest release from the <a href="https://releases.groupdocs.cloud/editor/net/">download page</a>.</p>
<h3 id="configure-api-credentials">Configure API Credentials</h3>
<p>Create a <code>Configuration</code> object with your client ID and secret.</p>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>    ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>};
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>The <code>Configuration</code> class is described in the <a href="https://reference.groupdocs.cloud/editor/">API reference</a>.</p>
<h3 id="initialize-the-editor-api">Initialize the Editor API</h3>
<p>Instantiate <code>EditorApi</code> using the configuration.</p>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> editorApi = <span style="color:#66d9ef">new</span> EditorApi(config);
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>This object provides all editing operations.</p>
<h3 id="define-editing-options-replace-placeholder-texts">Define Editing Options (Replace Placeholder Texts)</h3>
<p>Set the source file, output path, and the text replacements you need.</p>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> editOptions = <span style="color:#66d9ef">new</span> EditDocumentOptions
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    FileInfo = <span style="color:#66d9ef">new</span> FileInfo { FilePath = <span style="color:#e6db74">&#34;sample.pptx&#34;</span> },
</span></span><span style="display:flex;"><span>    OutputPath = <span style="color:#e6db74">&#34;sample_edited.pptx&#34;</span>,
</span></span><span style="display:flex;"><span>    EditTexts = <span style="color:#66d9ef">new</span> List&lt;EditText&gt;
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">new</span> EditText { Text = <span style="color:#e6db74">&#34;OldTitle&#34;</span>, NewText = <span style="color:#e6db74">&#34;New Title&#34;</span> },
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">new</span> EditText { Text = <span style="color:#e6db74">&#34;OldSubtitle&#34;</span>, NewText = <span style="color:#e6db74">&#34;Updated Subtitle&#34;</span> }
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>};
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>The <code>EditTexts</code> collection lets you replace any number of placeholders in one call.</p>
<h3 id="execute-the-edit-operation-and-handle-the-response">Execute the Edit Operation and Handle the Response</h3>
<p>Create the request and call <code>EditDocument</code>.</p>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> request = <span style="color:#66d9ef">new</span> EditDocumentRequest(editOptions);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> response = editorApi.EditDocument(request);
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">$&#34;Edited PowerPoint saved to: {response.Path}&#34;</span>);
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>The response contains the path to the edited file in cloud storage.</p>
<h2 id="complete-code-example-edit-powerpoint-presentations-in-c---full-workflow">Complete Code Example: edit PowerPoint Presentations in C# - Full Workflow</h2>
<p>The following code demonstrates the entire process from start to finish.</p>
<!--[COMPLETE_CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.Collections.Generic;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Editor.Cloud.Sdk.Api;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Editor.Cloud.Sdk.Client;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Editor.Cloud.Sdk.Model;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Editor.Cloud.Sdk.Model.Requests;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">namespace</span> GroupDocsEditorDemo
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Program</span>
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> Main(<span style="color:#66d9ef">string</span>[] args)
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Configure API credentials</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>                ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>            };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Initialize the Editor API</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> editorApi = <span style="color:#66d9ef">new</span> EditorApi(config);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Define input and output PowerPoint files</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> inputFilePath = <span style="color:#e6db74">&#34;sample.pptx&#34;</span>;
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> outputFilePath = <span style="color:#e6db74">&#34;sample_edited.pptx&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Set up editing options (replace placeholder texts)</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> editOptions = <span style="color:#66d9ef">new</span> EditDocumentOptions
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                FileInfo = <span style="color:#66d9ef">new</span> FileInfo { FilePath = inputFilePath },
</span></span><span style="display:flex;"><span>                OutputPath = outputFilePath,
</span></span><span style="display:flex;"><span>                EditTexts = <span style="color:#66d9ef">new</span> List&lt;EditText&gt;
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">new</span> EditText { Text = <span style="color:#e6db74">&#34;OldTitle&#34;</span>, NewText = <span style="color:#e6db74">&#34;New Title&#34;</span> },
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">new</span> EditText { Text = <span style="color:#e6db74">&#34;OldSubtitle&#34;</span>, NewText = <span style="color:#e6db74">&#34;Updated Subtitle&#34;</span> }
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>            };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Create the request</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> request = <span style="color:#66d9ef">new</span> EditDocumentRequest(editOptions);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">try</span>
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// Perform the edit operation</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">var</span> response = editorApi.EditDocument(request);
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;Edited PowerPoint saved to: {response.Path}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (ApiException apiEx)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;API error ({apiEx.ErrorCode}): {apiEx.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (Exception ex)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;Unexpected error: {ex.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><!--[COMPLETE_CODE_SNIPPET_END]-->
<blockquote>
<p><strong>Note:</strong> This code example demonstrates the core functionality. Before using it in your project, make sure to update any file paths and configuration values to match your actual environment, verify that all required dependencies are properly installed, and test thoroughly in your development environment. If you encounter any issues, please refer to the <a href="https://docs.groupdocs.cloud/editor/">official documentation</a> or reach out to the <a href="https://forum.groupdocs.cloud/c/editor/20">support team</a> for assistance.</p>
</blockquote>
<h2 id="powerpoint-editing-with-curl-and-the-rest-api">PowerPoint Editing with cURL and the REST API</h2>
<p>If you prefer a language‑agnostic approach, you can perform the same edit operation with cURL calls.</p>
<ol>
<li><strong>Authenticate and obtain an access token</strong></li>
</ol>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/auth/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{&#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,&#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;}&#39;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<ol start="2">
<li><strong>Upload the source PPTX file</strong></li>
</ol>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/upload/sample.pptx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -F <span style="color:#e6db74">&#34;file=@sample.pptx&#34;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<ol start="3">
<li><strong>Execute the edit operation</strong></li>
</ol>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/editor/edit&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;fileInfo&#34;: { &#34;filePath&#34;: &#34;sample.pptx&#34; },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;outputPath&#34;: &#34;sample_edited.pptx&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;editTexts&#34;: [
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               { &#34;text&#34;: &#34;OldTitle&#34;, &#34;newText&#34;: &#34;New Title&#34; },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               { &#34;text&#34;: &#34;OldSubtitle&#34;, &#34;newText&#34;: &#34;Updated Subtitle&#34; }
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           ]
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<ol start="4">
<li><strong>Download the edited PPTX file</strong></li>
</ol>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/download/sample_edited.pptx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -o sample_edited.pptx
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>For more details on request payloads, see the <a href="https://reference.groupdocs.cloud/editor/">API reference</a>.</p>
<h2 id="finetuning-powerpoint-editing-options">Fine‑Tuning PowerPoint Editing Options</h2>
<p>The SDK offers additional parameters you can adjust:</p>
<ul>
<li><strong>OutputPath</strong> - Choose a different folder or file name for the edited presentation.</li>
<li><strong>EditTexts</strong> - Add as many <code>EditText</code> objects as needed to replace multiple placeholders.</li>
<li><strong>FileInfo.StorageName</strong> - Specify a custom storage location if you use multiple cloud storages.</li>
</ul>
<p>These options are part of the <code>EditDocumentOptions</code> class referenced in the <a href="https://reference.groupdocs.cloud/editor/">API reference</a>.</p>
<h2 id="conclusion">Conclusion</h2>
<p>Editing PowerPoint presentations in C# becomes straightforward with the GroupDocs.Editor Cloud SDK for .NET. The library handles authentication, file management, and text replacement, letting you focus on business logic. Remember to obtain a proper license for production use; you can start with a temporary license from the <a href="https://purchase.groupdocs.cloud/temporary-license/">temporary license page</a>. With the code sample and cURL workflow provided, you&rsquo;re ready to integrate dynamic slide editing into any .NET application.</p>
<h2 id="faqs">FAQs</h2>
<p><strong>How do I edit Powerpoint presentations in C# using GroupDocs.Editor Cloud?</strong><br>
Use the <code>EditDocument</code> method after configuring <code>EditDocumentOptions</code> with your source file, output path, and a list of <code>EditText</code> replacements. The full example is shown earlier in this guide.</p>
<p><strong>Can I replace multiple placeholders in a single PowerPoint file?</strong><br>
Yes. Populate the <code>EditTexts</code> collection with as many <code>EditText</code> objects as required; the SDK will process all replacements in one request.</p>
<p><strong>What should I do if the edited file is not generated?</strong><br>
Check that <code>OutputPath</code> is correctly set and that the API response contains a valid <code>Path</code>. Also verify your credentials and storage permissions via the GroupDocs portal.</p>
<p><strong>Do I need a license for production deployments?</strong><br>
A valid license is required for production. You can obtain a temporary license from the <a href="https://purchase.groupdocs.cloud/temporary-license/">temporary license page</a> while evaluating the SDK.</p>
<h2 id="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/editor/edit-powerpoint-presentations-using-python/">Edit PowerPoint Presentations using Python</a></li>
<li><a href="https://blog.groupdocs.cloud/editor/edit-powerpoint-files-using-java-library/">Edit PowerPoint Files Using Java Library</a></li>
<li><a href="https://blog.groupdocs.cloud/editor/best-practices-for-csv-editor-development-in-java/">Best Practices for CSV Editor Development in Java</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
