<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
           xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides"
           xsi:type="TaskPaneApp">
  <Id>7f3a2c9e-5b41-4d8a-9c6f-0e2d1a8b4f57</Id>
  <Version>1.1.1.0</Version>
  <ProviderName>Blueiscalm</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="ToolBelt for Excel"/>
  <Description DefaultValue="Free everyday Excel utilities: trim spaces, remove hidden characters, fix text numbers and dates, delete empty rows, change case, merge/split columns, exact and fuzzy duplicates, batch-rename sheets, and lookup-merge tables. Free forever."/>
  <IconUrl DefaultValue="https://blueiscalm.com/assets/icon-32.png"/>
  <HighResolutionIconUrl DefaultValue="https://blueiscalm.com/assets/icon-64.png"/>
  <SupportUrl DefaultValue="https://blueiscalm.com/support.html"/>
  <AppDomains>
    <AppDomain>https://blueiscalm.com</AppDomain>
  </AppDomains>
  <Hosts>
    <Host Name="Workbook"/>
  </Hosts>
  <Requirements>
    <Sets DefaultMinVersion="1.7">
      <Set Name="ExcelApi" MinVersion="1.7"/>
    </Sets>
  </Requirements>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://blueiscalm.com/taskpane.html"/>
  </DefaultSettings>
  <Permissions>ReadWriteDocument</Permissions>
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Requirements>
      <bt:Sets DefaultMinVersion="1.1">
        <bt:Set Name="SharedRuntime" MinVersion="1.1"/>
      </bt:Sets>
    </Requirements>
    <Hosts>
      <Host xsi:type="Workbook">
        <Runtimes>
          <Runtime resid="Taskpane.Url" lifetime="long"/>
        </Runtimes>
        <DesktopFormFactor>
          <GetStarted>
            <Title resid="GetStarted.Title"/>
            <Description resid="GetStarted.Description"/>
            <LearnMoreUrl resid="GetStarted.LearnMoreUrl"/>
          </GetStarted>
          <FunctionFile resid="Taskpane.Url"/>
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <CustomTab id="TB.Tab">
              <Label resid="Tab.Label"/>
              <Group id="TB.GrpMain">
                <Label resid="GrpMain.Label"/>
                <Icon>
                  <bt:Image size="16" resid="Icon.16"/>
                  <bt:Image size="32" resid="Icon.32"/>
                  <bt:Image size="80" resid="Icon.80"/>
                </Icon>
                <Control xsi:type="Button" id="TB.BtnOpen">
                  <Label resid="Open.Label"/>
                  <Supertip><Title resid="Open.Label"/><Description resid="Open.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16"/>
                    <bt:Image size="32" resid="Icon.32"/>
                    <bt:Image size="80" resid="Icon.80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <TaskpaneId>TBPane</TaskpaneId>
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>
                <Control xsi:type="Button" id="TB.BtnUndo">
                  <Label resid="Undo.Label"/>
                  <Supertip><Title resid="Undo.Label"/><Description resid="Undo.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoUndo.16"/>
                    <bt:Image size="32" resid="IcoUndo.32"/>
                    <bt:Image size="80" resid="IcoUndo.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbUndo</FunctionName></Action>
                </Control>
              </Group>
              <Group id="TB.GrpClean">
                <Label resid="GrpClean.Label"/>
                <Icon>
                  <bt:Image size="16" resid="IcoClean.16"/>
                  <bt:Image size="32" resid="IcoClean.32"/>
                  <bt:Image size="80" resid="IcoClean.80"/>
                </Icon>
                <Control xsi:type="Button" id="TB.BtnTrim">
                  <Label resid="Trim.Label"/>
                  <Supertip><Title resid="Trim.Label"/><Description resid="Trim.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoClean.16"/>
                    <bt:Image size="32" resid="IcoClean.32"/>
                    <bt:Image size="80" resid="IcoClean.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbTrim</FunctionName></Action>
                </Control>
                <Control xsi:type="Button" id="TB.BtnInvisible">
                  <Label resid="Inv.Label"/>
                  <Supertip><Title resid="Inv.Label"/><Description resid="Inv.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoClean.16"/>
                    <bt:Image size="32" resid="IcoClean.32"/>
                    <bt:Image size="80" resid="IcoClean.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbInvisible</FunctionName></Action>
                </Control>
                <Control xsi:type="Menu" id="TB.MnuCase">
                  <Label resid="Case.Label"/>
                  <Supertip><Title resid="Case.Label"/><Description resid="Case.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoClean.16"/>
                    <bt:Image size="32" resid="IcoClean.32"/>
                    <bt:Image size="80" resid="IcoClean.80"/>
                  </Icon>
                  <Items>
                    <Item id="TB.CaseUpper">
                      <Label resid="CaseU.Label"/>
                      <Supertip><Title resid="CaseU.Label"/><Description resid="Case.Tip"/></Supertip>
                      <Action xsi:type="ExecuteFunction"><FunctionName>tbUpper</FunctionName></Action>
                    </Item>
                    <Item id="TB.CaseLower">
                      <Label resid="CaseL.Label"/>
                      <Supertip><Title resid="CaseL.Label"/><Description resid="Case.Tip"/></Supertip>
                      <Action xsi:type="ExecuteFunction"><FunctionName>tbLower</FunctionName></Action>
                    </Item>
                    <Item id="TB.CaseProper">
                      <Label resid="CaseP.Label"/>
                      <Supertip><Title resid="CaseP.Label"/><Description resid="Case.Tip"/></Supertip>
                      <Action xsi:type="ExecuteFunction"><FunctionName>tbProper</FunctionName></Action>
                    </Item>
                    <Item id="TB.CaseSentence">
                      <Label resid="CaseS.Label"/>
                      <Supertip><Title resid="CaseS.Label"/><Description resid="Case.Tip"/></Supertip>
                      <Action xsi:type="ExecuteFunction"><FunctionName>tbSentence</FunctionName></Action>
                    </Item>
                  </Items>
                </Control>
              </Group>
              <Group id="TB.GrpConvert">
                <Label resid="GrpConv.Label"/>
                <Icon>
                  <bt:Image size="16" resid="IcoConv.16"/>
                  <bt:Image size="32" resid="IcoConv.32"/>
                  <bt:Image size="80" resid="IcoConv.80"/>
                </Icon>
                <Control xsi:type="Button" id="TB.BtnNumbers">
                  <Label resid="Num.Label"/>
                  <Supertip><Title resid="Num.Label"/><Description resid="Num.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoConv.16"/>
                    <bt:Image size="32" resid="IcoConv.32"/>
                    <bt:Image size="80" resid="IcoConv.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbNumbers</FunctionName></Action>
                </Control>
                <Control xsi:type="Button" id="TB.BtnDates">
                  <Label resid="Dates.Label"/>
                  <Supertip><Title resid="Dates.Label"/><Description resid="Dates.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoConv.16"/>
                    <bt:Image size="32" resid="IcoConv.32"/>
                    <bt:Image size="80" resid="IcoConv.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbDates</FunctionName></Action>
                </Control>
                <Control xsi:type="Button" id="TB.BtnTrailing">
                  <Label resid="Trail.Label"/>
                  <Supertip><Title resid="Trail.Label"/><Description resid="Trail.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoConv.16"/>
                    <bt:Image size="32" resid="IcoConv.32"/>
                    <bt:Image size="80" resid="IcoConv.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbTrailing</FunctionName></Action>
                </Control>
              </Group>
              <Group id="TB.GrpRows">
                <Label resid="GrpRows.Label"/>
                <Icon>
                  <bt:Image size="16" resid="IcoRows.16"/>
                  <bt:Image size="32" resid="IcoRows.32"/>
                  <bt:Image size="80" resid="IcoRows.80"/>
                </Icon>
                <Control xsi:type="Button" id="TB.BtnEmptyRows">
                  <Label resid="Empty.Label"/>
                  <Supertip><Title resid="Empty.Label"/><Description resid="Empty.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoRows.16"/>
                    <bt:Image size="32" resid="IcoRows.32"/>
                    <bt:Image size="80" resid="IcoRows.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbEmptyRows</FunctionName></Action>
                </Control>
                <Control xsi:type="Button" id="TB.BtnDup">
                  <Label resid="Dup.Label"/>
                  <Supertip><Title resid="Dup.Label"/><Description resid="Dup.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoRows.16"/>
                    <bt:Image size="32" resid="IcoRows.32"/>
                    <bt:Image size="80" resid="IcoRows.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbDuplicates</FunctionName></Action>
                </Control>
                <Control xsi:type="Button" id="TB.BtnUnique">
                  <Label resid="Uniq.Label"/>
                  <Supertip><Title resid="Uniq.Label"/><Description resid="Uniq.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoRows.16"/>
                    <bt:Image size="32" resid="IcoRows.32"/>
                    <bt:Image size="80" resid="IcoRows.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbCountUnique</FunctionName></Action>
                </Control>
              </Group>
              <Group id="TB.GrpCols">
                <Label resid="GrpCols.Label"/>
                <Icon>
                  <bt:Image size="16" resid="IcoCols.16"/>
                  <bt:Image size="32" resid="IcoCols.32"/>
                  <bt:Image size="80" resid="IcoCols.80"/>
                </Icon>
                <Control xsi:type="Button" id="TB.BtnMergeCols">
                  <Label resid="MCol.Label"/>
                  <Supertip><Title resid="MCol.Label"/><Description resid="MCol.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoCols.16"/>
                    <bt:Image size="32" resid="IcoCols.32"/>
                    <bt:Image size="80" resid="IcoCols.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbMergeCols</FunctionName></Action>
                </Control>
                <Control xsi:type="Button" id="TB.BtnSplitCol">
                  <Label resid="SCol.Label"/>
                  <Supertip><Title resid="SCol.Label"/><Description resid="SCol.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoCols.16"/>
                    <bt:Image size="32" resid="IcoCols.32"/>
                    <bt:Image size="80" resid="IcoCols.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbSplitCol</FunctionName></Action>
                </Control>
                <Control xsi:type="Button" id="TB.BtnAlphaNum">
                  <Label resid="ANum.Label"/>
                  <Supertip><Title resid="ANum.Label"/><Description resid="ANum.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoCols.16"/>
                    <bt:Image size="32" resid="IcoCols.32"/>
                    <bt:Image size="80" resid="IcoCols.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbAlphaNum</FunctionName></Action>
                </Control>
              </Group>
              <Group id="TB.GrpSheets">
                <Label resid="GrpSheets.Label"/>
                <Icon>
                  <bt:Image size="16" resid="IcoSheets.16"/>
                  <bt:Image size="32" resid="IcoSheets.32"/>
                  <bt:Image size="80" resid="IcoSheets.80"/>
                </Icon>
                <Control xsi:type="Button" id="TB.BtnRename">
                  <Label resid="Ren.Label"/>
                  <Supertip><Title resid="Ren.Label"/><Description resid="Ren.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoSheets.16"/>
                    <bt:Image size="32" resid="IcoSheets.32"/>
                    <bt:Image size="80" resid="IcoSheets.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbRenameSheets</FunctionName></Action>
                </Control>
                <Control xsi:type="Button" id="TB.BtnIndex">
                  <Label resid="Idx.Label"/>
                  <Supertip><Title resid="Idx.Label"/><Description resid="Idx.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoSheets.16"/>
                    <bt:Image size="32" resid="IcoSheets.32"/>
                    <bt:Image size="80" resid="IcoSheets.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbIndexSheet</FunctionName></Action>
                </Control>
              </Group>
              <Group id="TB.GrpLookup">
                <Label resid="GrpLook.Label"/>
                <Icon>
                  <bt:Image size="16" resid="IcoLook.16"/>
                  <bt:Image size="32" resid="IcoLook.32"/>
                  <bt:Image size="80" resid="IcoLook.80"/>
                </Icon>
                <Control xsi:type="Button" id="TB.BtnLookup">
                  <Label resid="Look.Label"/>
                  <Supertip><Title resid="Look.Label"/><Description resid="Look.Tip"/></Supertip>
                  <Icon>
                    <bt:Image size="16" resid="IcoLook.16"/>
                    <bt:Image size="32" resid="IcoLook.32"/>
                    <bt:Image size="80" resid="IcoLook.80"/>
                  </Icon>
                  <Action xsi:type="ExecuteFunction"><FunctionName>tbLookup</FunctionName></Action>
                </Control>
              </Group>
            </CustomTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="Icon.16" DefaultValue="https://blueiscalm.com/assets/icon-16.png"/>
        <bt:Image id="Icon.32" DefaultValue="https://blueiscalm.com/assets/icon-32.png"/>
        <bt:Image id="Icon.80" DefaultValue="https://blueiscalm.com/assets/icon-80.png"/>
        <bt:Image id="IcoClean.16" DefaultValue="https://blueiscalm.com/assets/cmd/clean-16.png"/>
        <bt:Image id="IcoClean.32" DefaultValue="https://blueiscalm.com/assets/cmd/clean-32.png"/>
        <bt:Image id="IcoClean.80" DefaultValue="https://blueiscalm.com/assets/cmd/clean-80.png"/>
        <bt:Image id="IcoConv.16" DefaultValue="https://blueiscalm.com/assets/cmd/convert-16.png"/>
        <bt:Image id="IcoConv.32" DefaultValue="https://blueiscalm.com/assets/cmd/convert-32.png"/>
        <bt:Image id="IcoConv.80" DefaultValue="https://blueiscalm.com/assets/cmd/convert-80.png"/>
        <bt:Image id="IcoRows.16" DefaultValue="https://blueiscalm.com/assets/cmd/rows-16.png"/>
        <bt:Image id="IcoRows.32" DefaultValue="https://blueiscalm.com/assets/cmd/rows-32.png"/>
        <bt:Image id="IcoRows.80" DefaultValue="https://blueiscalm.com/assets/cmd/rows-80.png"/>
        <bt:Image id="IcoCols.16" DefaultValue="https://blueiscalm.com/assets/cmd/cols-16.png"/>
        <bt:Image id="IcoCols.32" DefaultValue="https://blueiscalm.com/assets/cmd/cols-32.png"/>
        <bt:Image id="IcoCols.80" DefaultValue="https://blueiscalm.com/assets/cmd/cols-80.png"/>
        <bt:Image id="IcoSheets.16" DefaultValue="https://blueiscalm.com/assets/cmd/sheets-16.png"/>
        <bt:Image id="IcoSheets.32" DefaultValue="https://blueiscalm.com/assets/cmd/sheets-32.png"/>
        <bt:Image id="IcoSheets.80" DefaultValue="https://blueiscalm.com/assets/cmd/sheets-80.png"/>
        <bt:Image id="IcoLook.16" DefaultValue="https://blueiscalm.com/assets/cmd/lookup-16.png"/>
        <bt:Image id="IcoLook.32" DefaultValue="https://blueiscalm.com/assets/cmd/lookup-32.png"/>
        <bt:Image id="IcoLook.80" DefaultValue="https://blueiscalm.com/assets/cmd/lookup-80.png"/>
        <bt:Image id="IcoUndo.16" DefaultValue="https://blueiscalm.com/assets/cmd/undo-16.png"/>
        <bt:Image id="IcoUndo.32" DefaultValue="https://blueiscalm.com/assets/cmd/undo-32.png"/>
        <bt:Image id="IcoUndo.80" DefaultValue="https://blueiscalm.com/assets/cmd/undo-80.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="GetStarted.LearnMoreUrl" DefaultValue="https://blueiscalm.com/support.html"/>
        <bt:Url id="Taskpane.Url" DefaultValue="https://blueiscalm.com/taskpane.html"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="GetStarted.Title" DefaultValue="ToolBelt for Excel is ready"/>
        <bt:String id="Tab.Label" DefaultValue="ToolBelt"/>
        <bt:String id="GrpMain.Label" DefaultValue="ToolBelt"/>
        <bt:String id="GrpClean.Label" DefaultValue="Clean"/>
        <bt:String id="GrpConv.Label" DefaultValue="Convert"/>
        <bt:String id="GrpRows.Label" DefaultValue="Rows"/>
        <bt:String id="GrpCols.Label" DefaultValue="Columns"/>
        <bt:String id="GrpSheets.Label" DefaultValue="Sheets"/>
        <bt:String id="GrpLook.Label" DefaultValue="Lookup"/>
        <bt:String id="Open.Label" DefaultValue="ToolBelt"/>
        <bt:String id="Undo.Label" DefaultValue="Undo"/>
        <bt:String id="Trim.Label" DefaultValue="Trim Spaces"/>
        <bt:String id="Inv.Label" DefaultValue="Invisible Chars"/>
        <bt:String id="Case.Label" DefaultValue="Change Case"/>
        <bt:String id="CaseU.Label" DefaultValue="UPPER CASE"/>
        <bt:String id="CaseL.Label" DefaultValue="lower case"/>
        <bt:String id="CaseP.Label" DefaultValue="Proper Case"/>
        <bt:String id="CaseS.Label" DefaultValue="Sentence case"/>
        <bt:String id="Num.Label" DefaultValue="Text to Numbers"/>
        <bt:String id="Dates.Label" DefaultValue="Text to Dates"/>
        <bt:String id="Trail.Label" DefaultValue="Trailing Minus"/>
        <bt:String id="Empty.Label" DefaultValue="Remove Empty Rows"/>
        <bt:String id="Dup.Label" DefaultValue="Duplicates"/>
        <bt:String id="Uniq.Label" DefaultValue="Count Unique"/>
        <bt:String id="MCol.Label" DefaultValue="Merge Columns"/>
        <bt:String id="SCol.Label" DefaultValue="Split Column"/>
        <bt:String id="ANum.Label" DefaultValue="Letters | Numbers"/>
        <bt:String id="Ren.Label" DefaultValue="Rename Sheets"/>
        <bt:String id="Idx.Label" DefaultValue="Index Sheet"/>
        <bt:String id="Look.Label" DefaultValue="Lookup and Merge"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="GetStarted.Description" DefaultValue="Find ToolBelt on its own ribbon tab. Select a range and click a fix."/>
        <bt:String id="Open.Tip" DefaultValue="Open the ToolBelt pane with every tool and its options."/>
        <bt:String id="Undo.Tip" DefaultValue="Undo the last ToolBelt change (Excel's Ctrl+Z cannot undo add-in changes)."/>
        <bt:String id="Trim.Tip" DefaultValue="Trim leading, trailing, doubled, and non-breaking spaces in the selection."/>
        <bt:String id="Inv.Tip" DefaultValue="Remove hidden and invisible characters in the selection (keeps line breaks)."/>
        <bt:String id="Case.Tip" DefaultValue="Change the case of text in the selection."/>
        <bt:String id="Num.Tip" DefaultValue="Convert numbers stored as text into real numbers."/>
        <bt:String id="Dates.Tip" DefaultValue="Convert text dates into real Excel dates (opens options)."/>
        <bt:String id="Trail.Tip" DefaultValue="Fix trailing minus signs: 123.45- becomes -123.45."/>
        <bt:String id="Empty.Tip" DefaultValue="Delete rows that are entirely empty within the selection."/>
        <bt:String id="Dup.Tip" DefaultValue="Highlight or delete exact and fuzzy duplicates (opens options)."/>
        <bt:String id="Uniq.Tip" DefaultValue="Count distinct values in the selection; full list goes to the TB Unique Values sheet."/>
        <bt:String id="MCol.Tip" DefaultValue="Join the selected columns into one (opens options)."/>
        <bt:String id="SCol.Tip" DefaultValue="Split one column by a delimiter (opens options)."/>
        <bt:String id="ANum.Tip" DefaultValue="Split codes like INV2024 into text and number parts, right of the selection."/>
        <bt:String id="Ren.Tip" DefaultValue="Rename many sheets at once with find and replace (opens options)."/>
        <bt:String id="Idx.Tip" DefaultValue="Create an Index sheet with clickable links to every sheet."/>
        <bt:String id="Look.Tip" DefaultValue="Pull columns from a lookup table by key, like XLOOKUP as plain values (opens options)."/>
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</OfficeApp>
