text:
<?xml version="1.0" encoding="UTF-8"?>
<CustomerData>
  <GeneralInfo>
    <CSCEdition>ED0003</CSCEdition>
    <Country>THAILAND</Country>
    <CountryISO>TH</CountryISO>
    <Region>SEA</Region>
    <SalesCode>THL</SalesCode>
    <NbNetworkInfo>8</NbNetworkInfo>
    <NetworkInfo>
      <MCCMNC>52001</MCCMNC>
      <NetworkName>AIS</NetworkName>
      <SPName>TH GSM</SPName>
    </NetworkInfo>
    <NetworkInfo>
      <MCCMNC>52003</MCCMNC>
      <NetworkName>AIS 3G2100</NetworkName>
      <SPName>AIS</SPName>
    </NetworkInfo>
    <NetworkInfo>
      <MCCMNC>52018</MCCMNC>
      <NetworkName>dtac</NetworkName>
      <SPName>dtac</SPName>
    </NetworkInfo>
    <NetworkInfo>
      <MCCMNC>52005</MCCMNC>
      <NetworkName>dtac TriNet</NetworkName>
      <SPName>dtac</SPName>
    </NetworkInfo>
    <NetworkInfo>
      <MCCMNC>52099</MCCMNC>
      <NetworkName>True Move</NetworkName>
      <SPName>TRUE</SPName>
    </NetworkInfo>
    <NetworkInfo>
      <MCCMNC>52000</MCCMNC>
      <NetworkName>True Move H</NetworkName>
      <SPCode>20</SPCode>
      <SPName>TRUE-H</SPName>
    </NetworkInfo>
    <NetworkInfo>
      <MCCMNC>52004</MCCMNC>
      <NetworkName>Real Future</NetworkName>
      <SPName>TRUE-H</SPName>
    </NetworkInfo>
    <NetworkInfo>
      <MCCMNC>52000</MCCMNC>
      <NetworkName>CAT</NetworkName>
      <SPCode>19</SPCode>
      <SPName>my</SPName>
    </NetworkInfo>
  </GeneralInfo>
  <Settings>
    <Main>
      <Security>
        <OneSIMLock>none</OneSIMLock>
      </Security>
      <Network>
        <NbWbAmr>3</NbWbAmr>
        <WbAmr>
          <NetworkName>AIS 3G2100</NetworkName>
          <WbAmrCodec>on</WbAmrCodec>
        </WbAmr>
        <WbAmr>
          <NetworkName>dtac</NetworkName>
          <WbAmrCodec>on</WbAmrCodec>
        </WbAmr>
        <WbAmr>
          <NetworkName>dtac TriNet</NetworkName>
          <WbAmrCodec>on</WbAmrCodec>
        </WbAmr>
        <AutoProfile>on</AutoProfile>
        <AutoVoicemail>off</AutoVoicemail>
        <AutoEmailAccount>off</AutoEmailAccount>
        <AutoBookmark>off</AutoBookmark>
        <AutoLink>off</AutoLink>
        <AutoSyncML>off</AutoSyncML>
        <AutoFastDormancy>off</AutoFastDormancy>
        <AutoWbAmr>on</AutoWbAmr>
        <AutoFOTA>off</AutoFOTA>
      </Network>
      <Sound>
        <RngToneAlertType>melody</RngToneAlertType>
        <ExtraSound>
          <ConnectTone>on</ConnectTone>
        </ExtraSound>
      </Sound>
      <Phone>
        <DefLanguage>th_TH</DefLanguage>
        <DefLanguageNoSIM>th_TH</DefLanguageNoSIM>
        <T9Enabling>disable</T9Enabling>
      </Phone>
    </Main>
    <Messages>
      <SMS>
        <DeliveryReport>off</DeliveryReport>
        <CharSupport>automatic</CharSupport>
      </SMS>
      <MMS>
        <MmsSending>
          <ReqDeliveryRep>off</ReqDeliveryRep>
          <ReqReadRep>off</ReqReadRep>
          <MessageSize>300</MessageSize>
        </MmsSending>
        <MmsReceiving>
          <Home>auto</Home>
          <Roaming>manual</Roaming>
        </MmsReceiving>
      </MMS>
    </Messages>
    <Browser>
      <NbBookmark>1</NbBookmark>
      <Bookmark>
        <NetworkName>default</NetworkName>
        <Editable>yes</Editable>
        <BookmarkName>Yahoo!</BookmarkName>
        <URL>https://yahoo.com/?.tsrc=samsungbm</URL>
      </Bookmark>
      <eManual>
        <URL>http://www.samsung.com/m-manual/common</URL>
      </eManual>
    </Browser>
    <Connections>
      <NbProfileHandle>8</NbProfileHandle>
      <ProfileHandle>
        <NbNetProfile>2</NbNetProfile>
        <NetworkName>AIS</NetworkName>
        <ProfBrowser>AIS Internet</ProfBrowser>
        <ProfMMS>AIS MMS</ProfMMS>
      </ProfileHandle>
      <ProfileHandle>
        <NbNetProfile>2</NbNetProfile>
        <NetworkName>AIS 3G2100</NetworkName>
        <ProfBrowser>AIS Internet</ProfBrowser>
        <ProfMMS>AIS MMS</ProfMMS>
      </ProfileHandle>
      <ProfileHandle>
        <NbNetProfile>2</NbNetProfile>
        <NetworkName>dtac</NetworkName>
        <ProfBrowser>dtac internet</ProfBrowser>
        <ProfMMS>dtac MMS</ProfMMS>
      </ProfileHandle>
      <ProfileHandle>
        <NbNetProfile>2</NbNetProfile>
        <NetworkName>dtac TriNet</NetworkName>
        <ProfBrowser>dtac internet</ProfBrowser>
        <ProfMMS>dtac MMS</ProfMMS>
      </ProfileHandle>
      <ProfileHandle>
        <NbNetProfile>2</NbNetProfile>
        <NetworkName>True Move</NetworkName>
        <ProfBrowser>True GPRS Inet</ProfBrowser>
        <ProfMMS>True GPRS MMS</ProfMMS>
      </ProfileHandle>
      <ProfileHandle>
        <NbNetProfile>2</NbNetProfile>
        <NetworkName>True Move H</NetworkName>
        <ProfBrowser>TRUE-H INTERNET</ProfBrowser>
        <ProfMMS>TRUE-H MMS</ProfMMS>
      </ProfileHandle>
      <ProfileHandle>
        <NbNetProfile>2</NbNetProfile>
        <NetworkName>Real Future</NetworkName>
        <ProfBrowser>TRUE-H INTERNET</ProfBrowser>
        <ProfMMS>TRUE-H MMS</ProfMMS>
      </ProfileHandle>
      <ProfileHandle>
        <NbNetProfile>1</NbNetProfile>
        <NetworkName>CAT</NetworkName>
        <ProfBrowser>my</ProfBrowser>
      </ProfileHandle>
      <NbProfile>15</NbProfile>
      <Profile>
        <NetworkName>AIS</NetworkName>
        <Editable>yes</Editable>
        <ProfileName>AIS MMS</ProfileName>
        <URL>http://mms.mobilelife.co.th</URL>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>on</EnableFlag>
          <ServAddr>203.170.229.34</ServAddr>
          <Port>8080</Port>
        </Proxy>
        <PSparam>
          <APN>multimedia</APN>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>AIS</NetworkName>
        <IpVersion>ipv4v6</IpVersion>
        <Editable>yes</Editable>
        <ProfileName>AIS Internet</ProfileName>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>off</EnableFlag>
        </Proxy>
        <PSparam>
          <APN>internet</APN>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>AIS 3G2100</NetworkName>
        <IpVersion>ipv4v6</IpVersion>
        <Editable>yes</Editable>
        <ProfileName>AIS Internet</ProfileName>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>off</EnableFlag>
        </Proxy>
        <PSparam>
          <APN>internet</APN>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>AIS 3G2100</NetworkName>
        <Editable>yes</Editable>
        <ProfileName>AIS MMS</ProfileName>
        <URL>http://mms.mobilelife.co.th</URL>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>on</EnableFlag>
          <ServAddr>203.170.229.34</ServAddr>
          <Port>8080</Port>
        </Proxy>
        <PSparam>
          <APN>multimedia</APN>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>dtac</NetworkName>
        <IpVersion>ipv4v6</IpVersion>
        <Editable>yes</Editable>
        <ProfileName>dtac internet</ProfileName>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>off</EnableFlag>
        </Proxy>
        <PSparam>
          <APN>www.dtac.co.th</APN>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>dtac</NetworkName>
        <Editable>yes</Editable>
        <ProfileName>dtac MMS</ProfileName>
        <URL>http://mms.dtac.co.th:8002/</URL>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>on</EnableFlag>
          <ServAddr>203.155.200.133</ServAddr>
          <Port>8080</Port>
        </Proxy>
        <PSparam>
          <APN>mms</APN>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>dtac TriNet</NetworkName>
        <IpVersion>ipv4v6</IpVersion>
        <Editable>yes</Editable>
        <ProfileName>dtac internet</ProfileName>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>off</EnableFlag>
        </Proxy>
        <PSparam>
          <APN>www.dtac.co.th</APN>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>dtac TriNet</NetworkName>
        <Editable>yes</Editable>
        <ProfileName>dtac MMS</ProfileName>
        <URL>http://mms2.dtac.co.th:8002/</URL>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>on</EnableFlag>
          <ServAddr>10.10.10.10</ServAddr>
          <Port>8080</Port>
        </Proxy>
        <PSparam>
          <APN>mms</APN>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>True Move</NetworkName>
        <Editable>yes</Editable>
        <ProfileName>True GPRS MMS</ProfileName>
        <URL>http://mms.truelife.com:8002/</URL>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>on</EnableFlag>
          <ServAddr>10.4.7.39</ServAddr>
          <Port>8080</Port>
        </Proxy>
        <PSparam>
          <APN>mms</APN>
          <UserId>true</UserId>
          <Password>true</Password>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>True Move</NetworkName>
        <Editable>yes</Editable>
        <ProfileName>True GPRS Inet</ProfileName>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <PSparam>
          <APN>internet</APN>
          <UserId>true</UserId>
          <Password>true</Password>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>True Move H</NetworkName>
        <IpVersion>ipv4v6</IpVersion>
        <Editable>yes</Editable>
        <ProfileName>TRUE-H INTERNET</ProfileName>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>off</EnableFlag>
        </Proxy>
        <PSparam>
          <APN>internet</APN>
          <UserId>true</UserId>
          <Password>true</Password>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>True Move H</NetworkName>
        <Editable>yes</Editable>
        <ProfileName>TRUE-H MMS</ProfileName>
        <URL>http://mms.trueh.com:8002/</URL>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>on</EnableFlag>
          <ServAddr>010.004.007.039</ServAddr>
          <Port>8080</Port>
        </Proxy>
        <PSparam>
          <APN>hmms</APN>
          <UserId>true</UserId>
          <Password>true</Password>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>Real Future</NetworkName>
        <IpVersion>ipv4v6</IpVersion>
        <Editable>yes</Editable>
        <ProfileName>TRUE-H INTERNET</ProfileName>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>off</EnableFlag>
        </Proxy>
        <PSparam>
          <APN>internet</APN>
          <UserId>true</UserId>
          <Password>true</Password>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>Real Future</NetworkName>
        <Editable>yes</Editable>
        <ProfileName>TRUE-H MMS</ProfileName>
        <URL>http://mms.trueh.com:8002/</URL>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>on</EnableFlag>
          <ServAddr>010.004.007.039</ServAddr>
          <Port>8080</Port>
        </Proxy>
        <PSparam>
          <APN>hmms</APN>
          <UserId>true</UserId>
          <Password>true</Password>
        </PSparam>
      </Profile>
      <Profile>
        <NetworkName>CAT</NetworkName>
        <Editable>yes</Editable>
        <ProfileName>my</ProfileName>
        <Auth>normal</Auth>
        <Protocol>http</Protocol>
        <MTUSize>1500</MTUSize>
        <Proxy>
          <EnableFlag>off</EnableFlag>
        </Proxy>
        <PSparam>
          <APN>internet</APN>
        </PSparam>
      </Profile>
    </Connections>
  </Settings>
</CustomerData>


text:
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ChangeListManager">
    <list default="true" id="c99503c3-a7c6-4a16-b1a0-dfc9051166fe" name="Default" comment="" />
    <ignored path="python.iws" />
    <ignored path=".idea/workspace.xml" />
    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
    <option name="TRACKING_ENABLED" value="true" />
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
  <component name="CreatePatchCommitExecutor">
    <option name="PATCH_PATH" value="" />
  </component>
  <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
  <component name="FavoritesManager">
    <favorites_list name="python" />
  </component>
  <component name="FileEditorManager">
    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
      <file leaf-file-name="update_contact.py" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/tests/update_contact.py">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="136">
              <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="update_group.py" pinned="false" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/tests/update_group.py">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="136">
              <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
    </leaf>
  </component>
  <component name="FileTemplateManagerImpl">
    <option name="RECENT_TEMPLATES">
      <list>
        <option value="Python Script" />
      </list>
    </option>
  </component>
  <component name="Git.Settings">
    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  </component>
  <component name="IdeDocumentHistory">
    <option name="CHANGED_PATHS">
      <list>
        <option value="$PROJECT_DIR$/.cache/contact.py" />
        <option value="$PROJECT_DIR$/add_contact.py" />
        <option value="$PROJECT_DIR$/application.py" />
        <option value="$PROJECT_DIR$/contact.py" />
        <option value="$PROJECT_DIR$/group.py" />
        <option value="$PROJECT_DIR$/add_group.py" />
        <option value="$PROJECT_DIR$/fixture/session.py" />
        <option value="$PROJECT_DIR$/fixture/application.py" />
        <option value="$PROJECT_DIR$/tests/test_delete_group.py" />
        <option value="$PROJECT_DIR$/tests/conftest.py" />
        <option value="$PROJECT_DIR$/conftest.py" />
        <option value="$PROJECT_DIR$/tests/add_contact.py" />
        <option value="$PROJECT_DIR$/tests/delete_group.py" />
        <option value="$PROJECT_DIR$/model/group.py" />
        <option value="$PROJECT_DIR$/tests/edit_group.py" />
        <option value="$PROJECT_DIR$/tests/add_group.py" />
        <option value="$PROJECT_DIR$/fixture/group.py" />
        <option value="$PROJECT_DIR$/tests/delete_contact.py" />
        <option value="$PROJECT_DIR$/fixture/contact.py" />
        <option value="$PROJECT_DIR$/tests/update_contact.py" />
        <option value="$PROJECT_DIR$/tests/update_group.py" />
      </list>
    </option>
  </component>
  <component name="ProjectFrameBounds">
    <option name="x" value="1" />
    <option name="y" value="1" />
    <option name="width" value="1364" />
    <option name="height" value="726" />
  </component>
  <component name="ProjectLevelVcsManager" settingsEditedManually="false">
    <OptionsSetting value="true" id="Add" />
    <OptionsSetting value="true" id="Remove" />
    <OptionsSetting value="true" id="Checkout" />
    <OptionsSetting value="true" id="Update" />
    <OptionsSetting value="true" id="Status" />
    <OptionsSetting value="true" id="Edit" />
    <ConfirmationsSetting value="0" id="Add" />
    <ConfirmationsSetting value="0" id="Remove" />
  </component>
  <component name="ProjectView">
    <navigator currentView="ProjectPane" proportions="" version="1">
      <flattenPackages />
      <showMembers />
      <showModules />
      <showLibraryContents />
      <hideEmptyPackages />
      <abbreviatePackageNames />
      <autoscrollToSource />
      <autoscrollFromSource />
      <sortByType />
      <manualOrder />
      <foldersAlwaysOnTop value="true" />
    </navigator>
    <panes>
      <pane id="Scope" />
      <pane id="Scratches" />
      <pane id="ProjectPane">
        <subPane>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="python" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="python" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="python" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="python" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="python" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="tests" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="python" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="python" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="model" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="python" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="python" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="fixture" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
        </subPane>
      </pane>
    </panes>
  </component>
  <component name="PropertiesComponent">
    <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
    <property name="settings.editor.splitter.proportion" value="0.2" />
    <property name="SearchEverywhereHistoryKey" value="	FILE	file://C:/D/GitHub/python/model/group.py" />
  </component>
  <component name="RecentsManager">
    <key name="MoveFile.RECENT_KEYS">
      <recent name="C:\D\GitHub\python" />
      <recent name="C:\D\GitHub\python\tests" />
      <recent name="C:\D\GitHub\python\model" />
      <recent name="C:\D\GitHub\python\fixture" />
    </key>
  </component>
  <component name="RunManager" selected="Python tests.py.test in delete_contact.py">
    <configuration default="false" name="py.test in update_contact.py" type="tests" factoryName="py.test" temporary="true">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="testToRun" value="$PROJECT_DIR$/tests/update_contact.py" />
      <option name="keywords" value="" />
      <option name="params" value="" />
      <option name="USE_PARAM" value="false" />
      <option name="USE_KEYWORD" value="false" />
      <method />
    </configuration>
    <configuration default="false" name="py.test in delete_group.py" type="tests" factoryName="py.test" temporary="true">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="testToRun" value="$PROJECT_DIR$/tests/delete_group.py" />
      <option name="keywords" value="" />
      <option name="params" value="" />
      <option name="USE_PARAM" value="false" />
      <option name="USE_KEYWORD" value="false" />
      <method />
    </configuration>
    <configuration default="false" name="py.test in add_group.py" type="tests" factoryName="py.test" temporary="true">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="testToRun" value="$PROJECT_DIR$/tests/add_group.py" />
      <option name="keywords" value="" />
      <option name="params" value="" />
      <option name="USE_PARAM" value="false" />
      <option name="USE_KEYWORD" value="false" />
      <method />
    </configuration>
    <configuration default="false" name="py.test in update_group.py" type="tests" factoryName="py.test" temporary="true">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="testToRun" value="$PROJECT_DIR$/tests/update_group.py" />
      <option name="keywords" value="" />
      <option name="params" value="" />
      <option name="USE_PARAM" value="false" />
      <option name="USE_KEYWORD" value="false" />
      <method />
    </configuration>
    <configuration default="false" name="py.test in delete_contact.py" type="tests" factoryName="py.test" temporary="true">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="testToRun" value="$PROJECT_DIR$/tests/delete_contact.py" />
      <option name="keywords" value="" />
      <option name="params" value="" />
      <option name="USE_PARAM" value="false" />
      <option name="USE_KEYWORD" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="PythonConfigurationType" factoryName="Python">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs>
        <env name="PYTHONUNBUFFERED" value="1" />
      </envs>
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="PARAMETERS" value="" />
      <option name="SHOW_COMMAND_LINE" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="Tox" factoryName="Tox">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="Attests">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="Doctests">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="Nosetests">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="PARAMS" value="" />
      <option name="USE_PARAM" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="Unittests">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="PUREUNITTEST" value="true" />
      <option name="PARAMS" value="" />
      <option name="USE_PARAM" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="py.test">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="python" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="testToRun" value="" />
      <option name="keywords" value="" />
      <option name="params" value="" />
      <option name="USE_PARAM" value="false" />
      <option name="USE_KEYWORD" value="false" />
      <method />
    </configuration>
    <list size="5">
      <item index="0" class="java.lang.String" itemvalue="Python tests.py.test in update_contact.py" />
      <item index="1" class="java.lang.String" itemvalue="Python tests.py.test in delete_group.py" />
      <item index="2" class="java.lang.String" itemvalue="Python tests.py.test in add_group.py" />
      <item index="3" class="java.lang.String" itemvalue="Python tests.py.test in update_group.py" />
      <item index="4" class="java.lang.String" itemvalue="Python tests.py.test in delete_contact.py" />
    </list>
    <recent_temporary>
      <list size="5">
        <item index="0" class="java.lang.String" itemvalue="Python tests.py.test in delete_contact.py" />
        <item index="1" class="java.lang.String" itemvalue="Python tests.py.test in delete_group.py" />
        <item index="2" class="java.lang.String" itemvalue="Python tests.py.test in update_group.py" />
        <item index="3" class="java.lang.String" itemvalue="Python tests.py.test in add_group.py" />
        <item index="4" class="java.lang.String" itemvalue="Python tests.py.test in update_contact.py" />
      </list>
    </recent_temporary>
  </component>
  <component name="ShelveChangesManager" show_recycled="false">
    <option name="remove_strategy" value="false" />
  </component>
  <component name="SvnConfiguration">
    <configuration />
  </component>
  <component name="TaskManager">
    <task active="true" id="Default" summary="Default task">
      <changelist id="c99503c3-a7c6-4a16-b1a0-dfc9051166fe" name="Default" comment="" />
      <created>1468343662106</created>
      <option name="number" value="Default" />
      <option name="presentableId" value="Default" />
      <updated>1468343662106</updated>
    </task>
    <servers />
  </component>
  <component name="TestHistory">
    <history-entry file="py_test_in_add_contact_py - 2016.07.18 at 20h 40m 36s.xml">
      <configuration name="py.test in add_contact.py" configurationId="tests" />
    </history-entry>
    <history-entry file="py_test_in_add_group_py - 2016.07.18 at 20h 43m 51s.xml">
      <configuration name="py.test in add_group.py" configurationId="tests" />
    </history-entry>
    <history-entry file="py_test_in_delete_contact_py - 2016.07.17 at 21h 24m 42s.xml">
      <configuration name="py.test in delete_contact.py" configurationId="tests" />
    </history-entry>
    <history-entry file="py_test_in_delete_contact_py - 2016.07.18 at 20h 40m 20s.xml">
      <configuration name="py.test in delete_contact.py" configurationId="tests" />
    </history-entry>
    <history-entry file="py_test_in_delete_contact_py - 2016.07.18 at 20h 45m 15s.xml">
      <configuration name="py.test in delete_contact.py" configurationId="tests" />
    </history-entry>
    <history-entry file="py_test_in_delete_group_py - 2016.07.18 at 20h 43m 22s.xml">
      <configuration name="py.test in delete_group.py" configurationId="tests" />
    </history-entry>
    <history-entry file="py_test_in_delete_group_py - 2016.07.18 at 20h 44m 55s.xml">
      <configuration name="py.test in delete_group.py" configurationId="tests" />
    </history-entry>
    <history-entry file="py_test_in_update_contact_py - 2016.07.18 at 20h 39m 59s.xml">
      <configuration name="py.test in update_contact.py" configurationId="tests" />
    </history-entry>
    <history-entry file="py_test_in_update_contact_py - 2016.07.18 at 20h 40m 58s.xml">
      <configuration name="py.test in update_contact.py" configurationId="tests" />
    </history-entry>
    <history-entry file="py_test_in_update_group_py - 2016.07.18 at 20h 44m 18s.xml">
      <configuration name="py.test in update_group.py" configurationId="tests" />
    </history-entry>
  </component>
  <component name="ToolWindowManager">
    <frame x="1" y="1" width="1364" height="726" extended-state="0" />
    <editor active="true" />
    <layout>
      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25296736" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32954547" sideWeight="0.50296736" order="7" side_tool="true" content_ui="tabs" />
      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32954547" sideWeight="0.49703264" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.5064935" sideWeight="0.8916914" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
    </layout>
  </component>
  <component name="Vcs.Log.UiProperties">
    <option name="RECENTLY_FILTERED_USER_GROUPS">
      <collection />
    </option>
    <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
      <collection />
    </option>
  </component>
  <component name="VcsContentAnnotationSettings">
    <option name="myLimit" value="2678400000" />
  </component>
  <component name="XDebuggerManager">
    <breakpoint-manager>
      <option name="time" value="1" />
    </breakpoint-manager>
    <watches-manager />
  </component>
  <component name="editorHistoryManager">
    <entry file="file://$PROJECT_DIR$/tests/delete_group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="68">
          <caret line="4" column="14" selection-start-line="4" selection-start-column="14" selection-end-line="4" selection-end-column="28" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/fixture/group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="221">
          <caret line="13" column="26" selection-start-line="13" selection-start-column="26" selection-end-line="13" selection-end-column="26" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/conftest.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="153">
          <caret line="10" column="0" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" />
          <folding>
            <element signature="e#24#37#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/add_contact.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="136">
          <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/add_group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="238">
          <caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/model/group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/model/contact.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="119">
          <caret line="7" column="14" selection-start-line="7" selection-start-column="14" selection-end-line="7" selection-end-column="14" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/add_group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="51">
          <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/add_contact.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="51">
          <caret line="5" column="0" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/add_group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/add_group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/add_contact" />
    <entry file="file://$PROJECT_DIR$/.cache/contact.py" />
    <entry file="file://$PROJECT_DIR$/.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="-204">
          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/time.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="289">
          <caret line="31" column="8" selection-start-line="31" selection-start-column="8" selection-end-line="31" selection-end-column="85" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/edit_c.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="282">
          <caret line="30" column="8" selection-start-line="30" selection-start-column="8" selection-end-line="30" selection-end-column="92" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/conftest.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="51">
          <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
          <folding>
            <element signature="e#24#37#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/fixture/application.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="170">
          <caret line="13" column="17" selection-start-line="13" selection-start-column="17" selection-end-line="13" selection-end-column="17" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/fixture/group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="510">
          <caret line="69" column="0" selection-start-line="69" selection-start-column="0" selection-end-line="69" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/model/contact.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="102">
          <caret line="6" column="31" selection-start-line="6" selection-start-column="31" selection-end-line="6" selection-end-column="31" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/model/group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="119">
          <caret line="7" column="28" selection-start-line="7" selection-start-column="28" selection-end-line="7" selection-end-column="28" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/__init__.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/fixture/contact.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="554">
          <caret line="64" column="0" selection-start-line="64" selection-start-column="0" selection-end-line="64" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/fixture/session.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="391">
          <caret line="23" column="0" selection-start-line="23" selection-start-column="0" selection-end-line="23" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/add_contact.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="119">
          <caret line="7" column="24" selection-start-line="7" selection-start-column="24" selection-end-line="7" selection-end-column="24" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/add_group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="119">
          <caret line="7" column="24" selection-start-line="7" selection-start-column="24" selection-end-line="7" selection-end-column="24" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/delete_contact.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="102">
          <caret line="6" column="24" selection-start-line="6" selection-start-column="24" selection-end-line="6" selection-end-column="24" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/delete_group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="102">
          <caret line="6" column="24" selection-start-line="6" selection-start-column="24" selection-end-line="6" selection-end-column="24" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/update_contact.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="136">
          <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/README.md">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/tests/update_group.py">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="136">
          <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
  </component>
</project>

redpajama_set_name: RedPajamaGithub


text:
require 'spec_helper'

describe SkrillStatusController do

end


text:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <logger name="com.marklogic.client" level="INFO"/>
    <logger name="com.marklogic.client.io" level="WARN" additivity="false" />
</configuration>


text:
if node["chef_packages"]["chef"]["version"].to_i >= 11
  include Chef::DSL::IncludeRecipe
else
  include Chef::Mixin::LanguageIncludeRecipe
end

actions :monitor, :remove
default_action :monitor

attribute :name, :kind_of => String
attribute :process_name, :kind_of => String
attribute :pid_file, :kind_of => String
attribute :service_bin, :kind_of => String
attribute :script_name, :kind_of => String
attribute :start_cmd, :kind_of => String
attribute :stop_cmd, :kind_of => String
attribute :http_check, :kind_of => [Array, Hash]

def initialize(name, run_context=nil)
  super
  @action = :monitor
  # this is a bit hackish... these should be set
  set_platform_default_providers
end

private

def set_platform_default_providers
  provider = Chef::Provider::MonitoringProcmonNull
  if node["monitoring"]["procmon_provider"] == "monit"
    provider = Chef::Provider::MonitoringProcmonMonit
    include_recipe "monit::server"
  end

  # this repeated conflation of strings and symbols is bothersome
  Chef::Platform.set(
    :platform => node["platform"].to_sym,
    :resource => :monitoring_procmon,
    :provider => provider
  )
end


text:
/*
 * format.cpp
 * @author wherewindblow
 * @date   Aug 13, 2017
 */

#include "format.h"

namespace lights {
namespace details {

// TODO Consider to optimize like fmt library.
template <typename Integer>
std::size_t format_need_space(Integer n)
{
	static_assert(std::is_integral<Integer>::value && "n only can be integer");

	using UnsignedInteger = std::make_unsigned_t<Integer>;
	auto absolute = static_cast<UnsignedInteger>(n);
	bool negative = n < 0;
	unsigned count = 0;
	if (negative)
	{
		absolute = static_cast<UnsignedInteger>(0 - absolute);
		++count;
	}

	if (absolute == 0)
	{
		count = 1;
	}
	else
	{
		while (absolute >= 100)
		{
			absolute /= 100;
			count += 2;
		}

		if (absolute < 10) // Single digit.
		{
			++count;
		}
		else // Double digits.
		{
			count += 2;
		}
	}
	return count;
}

#define LIGHTSIMPL_FORMAT_NEED_SPACE(Integer) \
template std::size_t format_need_space(Integer n);
LIGHTSIMPL_ALL_INTEGER_FUNCTION(LIGHTSIMPL_FORMAT_NEED_SPACE);
#undef LIGHTSIMPL_FORMAT_NEED_SPACE

template <typename Integer>
char* format_integer(Integer n, char* output)
{
	static_assert(std::is_integral<Integer>::value && "n only can be integer");

	using UnsignedInteger = std::make_unsigned_t<Integer>;
	auto absolute = static_cast<UnsignedInteger>(n);
	bool negative = n < 0;
	if (negative)
	{
		absolute = static_cast<UnsignedInteger>(0 - absolute);
	}

	if (absolute == 0)
	{
		--output;
		*output = '0';
	}
	else
	{
#ifndef LIGHTS_OPTIMIZE_INTEGER_FORMATER
		while (n != 0)
			{
				--output;
				*output = '0' + static_cast<char>(n % 10);
				n /= 10;
			}
#else
		while (absolute >= 100)
		{
			auto index = absolute % 100 * 2;
			--output;
			*output = digists[index + 1];
			--output;
			*output = digists[index];
			absolute /= 100;
		}

		if (absolute < 10) // Single digit.
		{
			--output;
			*output = '0' + static_cast<char>(absolute);
		}
		else // Double digits.
		{
			auto index = absolute * 2;
			--output;
			*output = digists[index + 1];
			--output;
			*output = digists[index];
		}
#endif
	}

	if (negative)
	{
		--output;
		*output = '-';
	}
	return output;
}

#define LIGHTSIMPL_FORMAT_INTEGER(Integer) \
template char* format_integer(Integer n, char* output);
LIGHTSIMPL_ALL_INTEGER_FUNCTION(LIGHTSIMPL_FORMAT_INTEGER);
#undef LIGHTSIMPL_FORMAT_INTEGER

} // namespace details

TextWriter::TextWriter(String write_target) :
	m_use_default_buffer(!is_valid(write_target)),
	m_buffer(is_valid(write_target) ? write_target.data() : new char[WRITER_BUFFER_SIZE_DEFAULT]),
	m_length(0),
	m_capacity(is_valid(write_target) ? write_target.length() : WRITER_BUFFER_SIZE_DEFAULT),
	m_full_handler()
{}

TextWriter::TextWriter(const TextWriter& rhs)
{
	*this = rhs;
}

TextWriter::~TextWriter()
{
	if (m_use_default_buffer)
	{
		delete[] m_buffer;
	}
}

TextWriter& TextWriter::operator=(const TextWriter& rhs)
{
	if (&rhs != this)
	{
		if (m_use_default_buffer)
		{
			delete[] m_buffer;
		}

		m_use_default_buffer = rhs.m_use_default_buffer;
		m_buffer = rhs.m_use_default_buffer ? new char[WRITER_BUFFER_SIZE_DEFAULT] : rhs.m_buffer;
		m_length = rhs.m_length;
		m_capacity = rhs.m_capacity;
		m_full_handler = rhs.m_full_handler;
	}
	return *this;
}

void TextWriter::append(char ch)
{
	if (can_append(sizeof(ch)))
	{
		m_buffer[m_length] = ch;
		++m_length;
	}
	else // Full
	{
		if (m_full_handler)
		{
			m_full_handler(string_view());
			clear();
			if (sizeof(ch) <= max_size())
			{
				append(ch);
			}
		}
	}
}

void TextWriter::append(StringView str)
{
	if (can_append(str.length()))
	{
		copy_array(m_buffer + m_length, str.data(), str.length());
		m_length += str.length();
	}
	else // Have not enough space to hold all.
	{
		// Append to the remaining place.
		StringView part(str.data(), max_size() - m_length);
		append(part);
		str.move_forward(part.length());

		// Handle for full situation.
		handle_full(str);
	}
}

void TextWriter::handle_full(StringView str)
{
	if (m_full_handler)
	{
		m_full_handler(string_view());
		clear();
		if (str.length() <= max_size())
		{
			append(str);
		}
		else // Have not enough space to hold all.
		{
			while (str.length())
			{
				std::size_t append_len = (str.length() <= max_size()) ? str.length() : max_size();
				StringView part(str.data(), append_len);
				append(part);
				if (append_len == max_size())
				{
					m_full_handler(string_view());
					clear();
				}
				str.move_forward(append_len);
			}
		}
	}
}

#define LIGHTSIMPL_TEXT_WRITER_INSERT_IMPL(Type)            \
	TextWriter& TextWriter::operator<< (Type n)             \
	{                                                       \
		auto len = details::format_need_space(n);           \
		if (can_append(len))                                \
		{                                                   \
			details::format_integer(n, m_buffer + m_length + len); \
			m_length += len;                                \
		}                                                   \
		return *this;                                       \
	}

LIGHTSIMPL_ALL_INTEGER_FUNCTION(LIGHTSIMPL_TEXT_WRITER_INSERT_IMPL)

#undef LIGHTSIMPL_TEXT_WRITER_INSERT_IMPL

void FormatSink<TextWriter>::append(std::size_t num, char ch)
{
	for (std::size_t i = 0; i < num; ++i)
	{
		this->append(ch);
	}
}

} // namespace lights


text:
var RpmEditor = (function($)
{
    var hot = null;
    var nce = null;
    var traitMetaInfo = null;
    var traitTable = null;
    var fieldNames = null;

    var init = function(info)
    {
        if (!nce)
        {
            nce = info;

            $(window).resize(function ()
            {
                RpmEditor.render();
            });

            loadTraitMetaInfo();
            buildTraitButtons();
        }
    };

    var loadTraitMetaInfo = function()
    {
        var result = nce.exec('RpmController.getTraitCategoriesDeep', [nce.getSelectedTabAppId(), {}]);
        if (result.status === false || !result.data.return)
        {
            showRpmError('Unable to fetch trait categories for all traits.  The rpm.meta.traits cubes are not loading:
' + result.data);
            return;
        }

        traitMetaInfo = result.data.return;
    };

    var buildTraitButtons = function()
    {
        var div = $('#traitFilter');
        div.empty();
        var result = nce.exec('RpmController.getTraitCategories', [nce.getSelectedTabAppId(), {}]);
        if (result.status === false)
        {
            showRpmError('Unable to fetch rpm.meta.traits n-cube.');
            return;
        }
        var traitList = result.data.return['@items'];
        var i = 0;
        $.each(traitList, function(index, item)
        {
            var label = $('');
            label.attr({class:'btn'});
            if (i == 0)
            {
                label.addClass('active');
            }
            label.attr({style:'border-color:#999;color:' + item.metaProps['css:color'] + ';background-color:' + item.metaProps['css:background-color'] + ' !important'});
            label.attr({'data-cat': item.value, 'data-toggle': "buttons"});
            var input = $('<input>').attr({type:'checkbox', autocomplete:'off'});
            i++;
            label.append(input);
            var btnText = item.metaProps['shortDesc'] || item.value;
            label.append(' ' + btnText);
            label.click(function(e)
            {
                e.preventDefault();
                label.toggleClass('active');
                load();
            });
            div.append(label);
        });

        $('#selectAll').click(function(e)
        {
            e.preventDefault();
            $('#traitFilter').find('label').each(function()
            {
                $(this).addClass('active');
            });
            load();
        });

        $('#selectNone').click(function(e)
        {
            e.preventDefault();
            $('#traitFilter').find('label').each(function()
            {
                $(this).removeClass('active');
            });
            load();
        });
    };

    var showRpmError = function(msg)
    {
        $('#rpmErrorPanel').removeAttr('hidden');
        $('#viewRpmInfo').attr('hidden', true);
        $('#rpmErrorMsg').html(msg);
    };

    var clearRpmError = function()
    {
        $('#rpmErrorPanel').attr('hidden', true);
        $('#viewRpmInfo').removeAttr('hidden');
    };

    var buildTraitTable = function()
    {
        traitTable = {names:['Traits >']};
        traitTable['css:color'] = ['#fff'];
        traitTable['css:background-color'] = ['#777'];

        var i = 1;

        $('#traitFilter').find('label').each(function(index, element)
        {
            var elem = $(element);

            if (elem.hasClass('active'))
            {
                var category = elem.attr('data-cat');
                var catInfo = traitMetaInfo[category];
                var catMeta = catInfo.info.metaProps;

                if (!catMeta)
                {   // No meta props for trait category, create empty map.
                    catMeta = {};
                }

                $.each(catInfo.traits['@items'], function(key1, val1)
                {
                    traitTable.names[i] = val1.value;

                    // Blast all category level CSS metaProperties onto traitTable.
                    $.each(catMeta, function(key)
                    {
                        if (key.startsWith('css:'))
                        {
                            traitTable[key][i] = catMeta[key];
                        }
                    });

                    // Blast all trait level CSS metaProperties onto traitTable (these override category level settings)
                    if (!val1.metaProps)
                    {   // No meta props for specific trait within trait category, create empty map.
                        val1.metaProps = {};
                    }

                    $.each(val1.metaProps, function(key, value)
                    {
                        if (key.startsWith('css:'))
                        {
                            if (!traitTable[key])
                            {   // First time this specific CSS trait is seen, make space for it.
                                traitTable[key] = [];
                            }
                            traitTable[key][i] = value;
                        }
                    });

                    if (!traitTable['css:color'][i])
                    {   // Color not set on trait category, default to dark gray.
                        traitTable['css:color'][i] = ['#444'];
                    }

                    if (!traitTable['css:background-color'][i])
                    {   // Background color not set on trait category, default to white.
                        traitTable['css:background-color'][i] = ['#fff'];
                    }

                    i++;
                });
            }
        });
    };

    var load = function()
    {
        if (hot)
        {
            hot.destroy();
            hot = null;
        }

        var info = nce.getInfoDto();
        if (!info)
        {
            showRpmError('No cube selected.');
            return;
        }

        var loName = nce.getSelectedCubeName().toLowerCase();

        if (loName.indexOf('rpm.class') != 0 && loName.indexOf('rpm.enum') != 0)
        {
            showRpmError('' + info.name + ' is not an RPM Class.');
            return;
        }

        var result = nce.exec('RpmController.getFields', [nce.getSelectedTabAppId(), {'cube':nce.getSelectedCubeName()}]);
        if (result.status === false || !result.data.return || !result.data.return['@items'])
        {
            showRpmError('' + info.name + ' is not an RPM Class:
It has no fields');
            return;
        }

        var rpmClassName;
        if (nce.getSelectedCubeName().startsWith('rpm.class'))
        {
            rpmClassName = nce.getSelectedCubeName().replace(/^rpm.class./, '');
        }
        else if (nce.getSelectedCubeName().startsWith('rpm.enum'))
        {
            rpmClassName = nce.getSelectedCubeName().replace(/^rpm.enum./, '');
        }
        else
        {
            showRpmError('' + info.name + ' is not an RPM Class.');
            return;
        }
        buildTraitTable();

        $('#rpmClassName').html(rpmClassName);
        var rpmClass = result.data.return['@items'];
        fieldNames = [];
        var rowNums = [];
        var row = 0;
        $.each(rpmClass, function(index, col)
        {
            fieldNames.push(col.value);
            rowNums.push(++row);
        });

        clearRpmError();

        var container = document.getElementById('rpmTable'),
            settings = {
                autoColumnSize: true,
                enterBeginsEditing: false,
                enterMoves: {row: 1, col: 0},
                tabMoves : {row: 0, col: 1},
                colHeaders: traitTable.names,
                rowHeaders: rowNums,
                startCols: traitTable.names.length,
                startRows: rowNums.length,
                //contextMenu: true,
                manualColumnResize: true,
                manualRowResize: true,
                fixedColumnsLeft: 1,
                height:500,
                cells: function (row, col, prop)
                {
                    return {renderer:categoryRenderer};
                }
            };

        hot = new Handsontable(container, settings);
        hot.render();
    };

    var categoryRenderer = function(instance, td, row, col, prop, value, cellProperties)
    {
        Handsontable.renderers.TextRenderer.apply(this, arguments);
        if (col == 0)
        {
            td.innerHTML = fieldNames[row];
        }

        $.each(traitTable, function(item)
        {
            if (item.startsWith('css:') && traitTable[item][col])
            {
                var style = item.replace(/^css:/, '');
                td.style[style] = traitTable[item][col];
            }
        });
    };

    var render = function()
    {
        if (!hot)
        {
            return;
        }
        hot.render();
    };

    var handleCubeSelected = function()
    {
        load();
    };

    // API
    return {
        init: init,
        load: load,
        render: render,
        handleCubeSelected: handleCubeSelected
    };

})(jQuery);

// Event handlers for events from NCE Frame
var tabActivated = function tabActivated(info)
{
    RpmEditor.init(info);
    RpmEditor.load();
};

var cubeSelected = function cubeSelected()
{
    RpmEditor.handleCubeSelected();
};

var onNoteEvent = function onNoteEvent(e, element){};


text:
---
layout: minimal
show-avatar: false
nav-short: true
---

<time>00:00:00</time>

<button id="start">start</button>
<button id="stop">stop</button>
<button id="clear">clear</button>


text:
import React from 'react'
import ampersandReactMixin from 'ampersand-react-mixin'
import InternalNav from './components/internal-nav'

export default React.createClass({
    mixins: [ampersandReactMixin],

    render () {
        const {me} = this.props

        return (
            <InternalNav>

                        <input id='menu-toggle' className='menu-toggle' type='checkbox'/>
                        Menu

Labelr

Repos

                                {me.login}
                                Logout

                        {this.props.children}

            </InternalNav>
        )
    }
})


text:
var path              = require('path'),
    cordova_util      = require('./util'),
    HooksRunner       = require('../hooks/HooksRunner'),
    events            = require('../events'),
    Q                 = require('q'),
    superspawn        = require('./superspawn');

// Returns a promise.
module.exports = function compile(options) {
    var projectRoot = cordova_util.cdProjectRoot();
    options = cordova_util.preProcessOptions(options);

    options.stdio = options.stdio || 'inherit';

    var hooksRunner = new HooksRunner(projectRoot);
    var ret = hooksRunner.fire('before_compile', options);
    options.platforms.forEach(function(platform) {
        ret = ret.then(function() {
            var cmd = path.join(projectRoot, 'platforms', platform, 'cordova', 'build');
            return superspawn.spawn(cmd, options.options, { stdio: options.stdio, printCommand: true, chmod: true });
        });
    });
    ret = ret.then(function() {
        return hooksRunner.fire('after_compile', options);
    }, function(error) {
        events.emit('log', 'ERROR building one of the platforms: ' + error + '\nYou may not have the required environment or OS to build this project');
        return Q.reject(error);
    });
    return ret;
};


text:
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2016 Hammock and its contributors
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  ~ implied.
  ~
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>hammock</artifactId>
        <groupId>ws.ament.hammock</groupId>
        <version>2.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>bootstrap-weld3</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.enterprise</groupId>
            <artifactId>cdi-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.weld.se</groupId>
            <artifactId>weld-se-core</artifactId>
            <version>${weld3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.weld.servlet</groupId>
            <artifactId>weld-servlet-core</artifactId>
            <version>${weld3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>javax.persistence</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.junit</groupId>
            <artifactId>arquillian-junit-container</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-weld-embedded</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
        </dependency>
        <dependency>
            <groupId>ws.ament.hammock</groupId>
            <artifactId>hammock-core</artifactId>
        </dependency>
    </dependencies>
</project>


text:
export * from './findMapStyleUrl';
export * from './isSelfLocation';
export * from './locationEventGeoUri';
export * from './LocationShareErrors';
export * from './map';
export * from './parseGeoUri';


text:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.IO;

namespace Toxy.Test
{
    public class TestDataSample
    {
        const string samplePath = "..\\..\\..\\testdata\\";
        public static string GetPdfPath(string filename)
        {
            return GetFilePath(filename, "PDF");
        }
        public static string GetWordPath(string filename)
        {
            return GetFilePath(filename, "Word");
        }

        public static string GetRTFPath(string filename)
        {
            return GetFilePath(filename, "RTF");
        }
        public static string GetVCardPath(string filename)
        {
            return GetFilePath(filename, "Vcard");
        }

        public static string GetExcelPath(string filename)
        {
            return GetFilePath(filename, "Excel");
        }
        public static string GetTextPath(string filename)
        {
            return GetFilePath(filename, "Txt");
        }
        public static string GetHtmlPath(string filename)
        {
            return GetFilePath(filename, "Html");
        }
        public static string GetAudioPath(string filename)
        {
            return GetFilePath(filename, "Audio");
        }
        public static string GetImagePath(string filename)
        {
            return GetFilePath(filename, "Image");
        }
        public static string GetOLE2Path(string filename)
        {
            return GetFilePath(filename, "ole2");
        }
        public static string GetOOXMLPath(string filename)
        {
            return GetFilePath(filename, "ooxml");
        }
        public static string GetPowerpointPath(string filename)
        {
            return GetFilePath(filename, "powerpoint");
        }
        public static string GetCNMPath(string filename)
        {
            return GetFilePath(filename, "cnm");
        }
        public static string GetEmailPath(string filename)
        {
            return GetFilePath(filename, "email");
        }
        public static string GetFilePath(string filename, string subFolder)
        {
			string path = samplePath.Replace('\\',Path.DirectorySeparatorChar);
			if (!path.EndsWith(string.Empty+Path.DirectorySeparatorChar))
            {
				path += Path.DirectorySeparatorChar;
            }
            if(subFolder==null)
                return path + filename;
            else
				return path +subFolder+Path.DirectorySeparatorChar + filename;
        }
    }
}


text:
All URIs are relative to *https://api.pushnews.eu/v2*

Method | HTTP request | Description
------------- | ------------- | -------------
[**pushSend**](PushApi.md#pushSend) | **POST** /push/{siteId} | Send a Push Notification

# **pushSend**
> \Pushnews\Model\NotificationApiResponse pushSend($siteId, $body)

Send a Push Notification

### Example
```php
<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure API key authorization: ApiKeyAuth
$config = Pushnews\Configuration::getDefaultConfiguration()->setApiKey('X-Auth-Token', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Pushnews\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-Auth-Token', 'Bearer');

$apiInstance = new Pushnews\Api\PushApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);
$siteId = "siteId_example"; // string | Site ID
$body = new \Pushnews\Model\Notification(); // \Pushnews\Model\Notification | Notification object

try {
    $result = $apiInstance->pushSend($siteId, $body);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling PushApi->pushSend: ', $e->getMessage(), PHP_EOL;
}
?>
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **siteId** | **string**| Site ID |
 **body** | [**\Pushnews\Model\Notification**](../Model/Notification.md)| Notification object |

### Return type

[**\Pushnews\Model\NotificationApiResponse**](../Model/NotificationApiResponse.md)

### Authorization

[ApiKeyAuth](../../README.md#ApiKeyAuth)

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md)


text:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;

namespace AeroSuite.Forms
{
    /// <summary>
    /// A <see cref="Form"/> base class which allows the creation of borderless windows which supports AeroSnap, AeroPeek, the system window context menu, optionally an Aero shadow, all of Windows' window animations and even windows-like dragging & resizing in specified areas.
    /// </summary>
    /// <remarks>
    /// The various features of this borderless form are implemented by using a normal window as a base and removing all of its "features" like the titlebar and borders visually and functionally during runtime by handling the appropriate windows messages.
    /// That makes this variant of a borderless window superior to just setting the border style to <see cref="FormBorderStyle.None"/> which lacks all of the features described in the summary.
    /// To implement the various areas for resizing & dragging, you have to override the <see cref="BorderlessForm.PerformHitTest(Point)"/>-method and check for the areas you desire.
    /// </remarks>
    [DesignerCategory("Code")]
    [DisplayName("Borderless Form")]
    [Description("A borderless form with support")]
    public class BorderlessForm
        : Form
    {
        private const int CS_DROPSHADOW = 0x20000;

        /// <summary>
        /// Initializes a new instance of the <see cref="BorderlessForm"/> class.
        /// </summary>
        public BorderlessForm()
        {
            base.FormBorderStyle = FormBorderStyle.None;
            this.BackColor = SystemColors.Window;
            this.Font = SystemFonts.MessageBoxFont;
        }

        /// <summary>
        /// Gets or sets the border style of the form.
        /// </summary>
        [EditorBrowsable(EditorBrowsableState.Never)]
        [Browsable(false)]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
        [DefaultValue(FormBorderStyle.None)]
        protected new virtual FormBorderStyle FormBorderStyle
        {
            get
            {
                return this.Borderless ? FormBorderStyle.None : FormBorderStyle.Sizable;
            }
            set
            {
                switch (value)
                {
                    case FormBorderStyle.None:
                        this.Borderless = true;
                        break;
                    default:
                        this.borderless = false;
                        break;
                }
            }
        }

        private bool borderless = true;
        /// <summary>
        /// Gets or sets a value indicating whether this <see cref="BorderlessForm"/> should be displayed without a window border.
        /// </summary>
        /// <value>
        ///   <c>true</c> if borderless; otherwise, <c>false</c>.
        /// </value>
        [Bindable(true)]
        [DefaultValue(true)]
        [Category("Appearance")]
        [Description("Determines, whether this form should be displayed without a window border.")]
        public virtual bool Borderless
        {
            get
            {
                return this.borderless;
            }
            set
            {
                this.borderless = value;
                base.FormBorderStyle = value ? FormBorderStyle.None : FormBorderStyle.Sizable;
                //if (this.IsHandleCreated)
                //{
                //    this.UpdateStyle();
                //}
            }
        }

        private bool showShadow = true;
        /// <summary>
        /// Gets or sets a value indicating whether this <see cref="BorderlessForm"/> should be displayed with an aero shadow underneath. This only applies when the form is borderless.
        /// </summary>
        /// <value>
        ///   <c>true</c> if a shadow is cast; otherwise, <c>false</c>.
        /// </value>
        [Bindable(true)]
        [DefaultValue(true)]
        [Category("Appearance")]
        [Description("Determines, whether this form should be displayed with an aero shadow underneath. This only applies when the form is borderless.")]
        public virtual bool Shadow
        {
            get
            {
                return this.showShadow;
            }
            set
            {
                this.showShadow = value;
                if (this.IsHandleCreated)
                {
                    //this.UpdateStyle();
                    this.RecreateHandle();
                }
            }
        }

        /// <summary>
        /// Gets or sets a value indicating whether the default behaviour when clicking on the form is to drag it or to ignore the action. The effect of this property can change if <see cref="BorderlessForm.PerformHitTest(Point)"/> is overriden.
        /// </summary>
        /// <value>
        ///   <c>true</c> if the form is automatically dragged when the cursor clicks on it; otherwise, <c>false</c>.
        /// </value>
        [Bindable(true)]
        [DefaultValue(true)]
        [Category("Behaviour")]
        [Description("Determines, whether the default behaviour when clicking on the form is to drag it or to ignore the action.")]
        public virtual bool AutoDrag { get; set; } = true;

        /// <summary>
        /// Performs a hit-test which determines how the form behaves when the cursor hovers or clicks on certain areas of the form. Override this method to customize how this form handles those events.
        /// </summary>
        /// <param name="location">The location of the cursor.</param>
        /// <returns>A <see cref="HitTestResult"/> determining the area underneath the cursor and therefore the forms behaviour at that location.</returns>
        protected virtual HitTestResult PerformHitTest(Point location)
        {
            return this.AutoDrag ? HitTestResult.Caption : HitTestResult.Client;
        }

        /// <summary>
        /// Creates an unsigned integer determining the window style of this <see cref="BorderlessForm"/>.
        /// </summary>
        /// <returns></returns>
        protected virtual uint GetWindowStyle()
        {
            if (this.Borderless)
            {
                if (PlatformHelper.VistaOrHigher && NativeMethods.DwmIsCompositionEnabled())
                {
                    return (uint)(WindowStyles.Overlapped | WindowStyles.ThickFrame | WindowStyles.Caption | WindowStyles.SysMenu | WindowStyles.MinimizeBox | WindowStyles.MaximizeBox);
                }
                else
                {
                    return (uint)(WindowStyles.Overlapped | WindowStyles.ThickFrame | WindowStyles.SysMenu);
                }
            }
            else
            {
                //return (uint)(WindowStyles.Popup | WindowStyles.ThickFrame | WindowStyles.Caption | WindowStyles.SysMenu | WindowStyles.MinimizeBox | WindowStyles.MaximizeBox);
                return (uint)base.CreateParams.Style;
            }
        }

        /// <summary>
        /// Initializes the shadow underneath this <see cref="BorderlessForm"/>. Only call this method if <see cref="BorderlessForm.Borderless"/> is set to <c>true</c>, otherwise it might cause undefined behaviour.
        /// </summary>
        protected virtual void InitializeShadow()
        {
            if (this.Shadow && this.Borderless)
            {
                if (PlatformHelper.VistaOrHigher && NativeMethods.DwmIsCompositionEnabled())
                {
                    if (this.Shadow)
                    {
                        Margins margins = new Margins() { BottomHeight = 1, LeftWidth = 1, RightWidth = 1, TopHeight = 1 };
                        NativeMethods.DwmExtendFrameIntoClientArea(this.Handle, ref margins);
                    }
                    else
                    {
                        Margins margins = new Margins() { BottomHeight = 0, LeftWidth = 0, RightWidth = 0, TopHeight = 0 };
                    }
                }
            }
        }

        ///// <summary>
        ///// Updates the style of this <see cref="BorderlessForm"/>. This method is called after every custom property change which affects the visual appearance. Try calling this method if you try to change something about the form and it does not work as expected.
        ///// </summary>
        //protected virtual void UpdateStyle()
        //{
        //    //This should mostly work but it causes some visual errors to occur and failes to load the form's icon so I'm going to disable this option for now and use the quick and not even so dirty alternative way
        //    //if (IntPtr.Size == 8)
        //    //{
        //    //    NativeMethods.SetWindowLongPtr64(this.Handle, GWL_STYLE, new IntPtr(unchecked((int)this.GetWindowStyle())));
        //    //}
        //    //else
        //    //{
        //    //    NativeMethods.SetWindowLong32(this.Handle, GWL_STYLE, new IntPtr(unchecked((int)this.GetWindowStyle())));
        //    //}
        //
        //    //if (this.Borderless)
        //    //{
        //    //    this.InitializeShadow();
        //    //}
        //
        //    //NativeMethods.SetWindowPos(this.Handle, IntPtr.Zero, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOMOVE | SWP_NOSIZE);
        //    //this.Show();
        //}

        /// <summary>
        /// Gets the required creation parameters when the control handle is created.
        /// </summary>
        protected override CreateParams CreateParams
        {
            get
            {
                if (this.DesignMode)
                {
                    return base.CreateParams;
                }

                CreateParams baseParams = base.CreateParams;
                base.CreateParams.Style = unchecked((int)this.GetWindowStyle());

                if (this.Borderless)
                {
                    this.InitializeShadow();

                    if (!PlatformHelper.VistaOrHigher || !NativeMethods.DwmIsCompositionEnabled())
                    {
                        baseParams.ClassStyle |= CS_DROPSHADOW;
                    }
                }

                return baseParams;
            }
        }

        /// <summary>
        /// Processes Windows messages.
        /// </summary>
        /// <param name="m">The Windows <see cref="T:System.Windows.Forms.Message" /> to process.</param>
        protected override void WndProc(ref Message m)
        {
            if (!this.DesignMode)
            {
                switch (m.Msg)
                {
                    case (int)WindowsMessages.NonClientCalcSize:
                        if (this.Borderless)
                        {
                            m.Result = IntPtr.Zero;
                            return;
                        }
                        break;
                    case (int)WindowsMessages.NonClientHitTest:
                        if (this.Borderless)
                        {
                            m.Result = new IntPtr((int)this.PerformHitTest(new Point(unchecked((short)m.LParam.ToInt64()), unchecked((short)(m.LParam.ToInt64() >> 16)))));
                        }
                        else
                        {
                            base.WndProc(ref m);
                            if (this.AutoDrag && m.Result.ToInt32() == (int)HitTestResult.Client)
                            {
                                m.Result = new IntPtr((int)HitTestResult.Caption);
                            }
                        }
                        return;
                    case (int)WindowsMessages.NonClientActivate:
                        if (this.Borderless && (!PlatformHelper.VistaOrHigher || !NativeMethods.DwmIsCompositionEnabled()))
                        {
                            m.Result = new IntPtr(1);
                            return;
                        }
                        break;
                    case (int)WindowsMessages.ThemeChanged:
                    case (int)WindowsMessages.DwmCompositionChanged:
                        this.RecreateHandle();
                        break;
                }
            }

            base.WndProc(ref m);
        }

        protected override void OnGotFocus(EventArgs e)
        {
            if (this.Borderless && (!PlatformHelper.VistaOrHigher || !NativeMethods.DwmIsCompositionEnabled()))
            {
                this.Invalidate();
            }

            base.OnGotFocus(e);
        }

        protected override void OnLostFocus(EventArgs e)
        {
            if (this.Borderless && (!PlatformHelper.VistaOrHigher || !NativeMethods.DwmIsCompositionEnabled()))
            {
                this.Invalidate();
            }

            base.OnLostFocus(e);
        }

        [StructLayout(LayoutKind.Sequential)]
        protected internal struct Margins
        {
            public int LeftWidth;
            public int RightWidth;
            public int TopHeight;
            public int BottomHeight;
        }

        protected internal enum WindowStyles
            : uint
        {
            Overlapped = 0,
            MaximizeBox = 0x10000,
            MinimizeBox = 0x20000,
            ThickFrame = 0x40000,
            SysMenu = 0x80000,
            Caption = 0xC00000,
            Popup = 0x80000000,
        }

        protected internal enum WindowsMessages
            : int
        {
            NonClientCalcSize = 0x83,
            NonClientHitTest = 0x84,
            NonClientActivate = 0x86,
            ThemeChanged = 0x31A,
            DwmCompositionChanged = 0x31E
        }
    }

    public enum HitTestResult
        : int
    {
        Nowhere = 0,
        Client = 1,
        Caption = 2,
        Left = 10,
        Right = 11,
        Top = 12,
        TopLeft = 13,
        TopRight = 14,
        Bottom = 15,
        BottomLeft = 16,
        BottomRight = 17,
        Border = 18
    }
}


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		<title>Matertis 1.0-SNAPSHOT Reference Package com.github.tilastokeskus.matertis.core</title>
		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />

        	com.github.tilastokeskus.matertis.core

Classes

            	CommandHandlerTest

            	DifficultyTest

            	GameHandlerConstructorTest

            	GameHandlerTest

            	GameTest

            	GameTestUtils

            	GridCollisionTest

            	GridSettingTest

            	GridTest

            	GridTestUtils

            	Obs

            	ScoreHandlerTest

            	TetrominoFactoryTest

            	TetrominoRotationTest

            	TetrominoTest


text:
'use strict'

const util = require('./util');
const EasyCert = require('node-easy-cert');
const co = require('co');

const options = {
  rootDirPath: util.getAnyProxyPath('certificates'),
  defaultCertAttrs: [
    { name: 'countryName', value: 'CN' },
    { name: 'organizationName', value: 'AnyProxy' },
    { shortName: 'ST', value: 'SH' },
    { shortName: 'OU', value: 'AnyProxy SSL Proxy' }
  ]
};

const easyCert = new EasyCert(options);
const crtMgr = util.merge({}, easyCert);

// rename function
crtMgr.ifRootCAFileExists = easyCert.isRootCAFileExists;

crtMgr.generateRootCA = function (cb) {
  doGenerate(false);

  // set default common name of the cert
  function doGenerate(overwrite) {
    const rootOptions = {
      commonName: 'AnyProxy',
      overwrite: !!overwrite
    };

    easyCert.generateRootCA(rootOptions, (error, keyPath, crtPath) => {
      cb(error, keyPath, crtPath);
    });
  }
};

crtMgr.getCAStatus = function *() {
  return co(function *() {
    const result = {
      exist: false,
    };
    const ifExist = easyCert.isRootCAFileExists();
    if (!ifExist) {
      return result;
    } else {
      result.exist = true;
      if (!/^win/.test(process.platform)) {
        result.trusted = yield easyCert.ifRootCATrusted;
      }
      return result;
    }
  });
}

module.exports = crtMgr;


text:
import dotenv from 'dotenv';
import path from 'path';

// workaround based on https://github.com/motdotla/dotenv/issues/133
let envPath = path.resolve(__dirname, '..', '..', 'app', '.env');

console.log(`Loading .env from ${envPath}`);

dotenv.config({ path: envPath });


text:
<?php

//Import the welcome aux class
use \Aux\User as AuxUser;

/**
 * Rest User Controller
 *
 * Provides an API to manipulate users data in the app
 *
 * @package  app
 * @extends  Controller_Rest
 */
class Controller_api_User extends Controller_api_Common {
  /**
   * Get all data of the user
   * @access post
   * @return a json with all of the user data
   */
  public function post_getUser() {
    return $this->response(AuxUser::getUser());
  }

  /**
   * Edit the data of an user
   * @access post
   * @return a json with the 'succeed' variable set to true if the update process worked, false otherwise
   */
  public function post_editUser() {
    return $this->response(array('succeed' => AuxUser::editUser()));
  }

  /**
   * Change the password of an user
   * @access post
   * @return a json with the 'succeed' variable set to true if the update process worked,
   * otherwise the value will be false and the 'error' variable will be set with the error message
   */
  public function post_changePassword() {
    //try to change the password
    $status = AuxUser::changePassword();
    if ($status[0]) {
      //if the password change process worked, return succeed as true
      return $this->response(array('succeed' => true));
    } else {
      //if not, return succeed as false and the error message
      return $this->response(array('succeed' => false, 'error' => $status[1]));
    }
  }

  /**
   * Delete an user account
   * @access post
   * @return a json with the 'succeed' variable set to true if the delete process worked,
   * otherwise the value will be false and the 'error' variable will be set with the error message
   */
  public function post_delete() {
    //try to delete the account
    $status = AuxUser::deleteUser();
    if ($status[0]) {
      //if the delete process worked, return succeed as true
      return $this->response(array('succeed' => true));
    } else {
      //if not, return succeed as false and the error message
      return $this->response(array('succeed' => false, 'error' => $status[1]));
    }
  }
}
?>