<commit_before>﻿using System;

namespace Aloneguid.Support
{
   /// <summary>
   /// Generates random passwords
   /// </summary>
   public static class PasswordGenerator
   {
      // Define default min and max password lengths.
      private static int DefaultMinPasswordLength = 8;
      private static int DefaultMaxPasswordLength = 10;

      // Define supported password characters divided into groups.
      // You can add (or remove) characters to (from) these groups.
      private static string LowercastChars = "abcdefgijkmnopqrstwxyz";
      private static string UppercaseChars = "ABCDEFGHJKLMNPQRSTWXYZ";
      private static string NumericChars = "23456789";
      private static string SpecialChars = "*$-+?_&=!%{}/";

      /// <summary>
      /// Generates a random password.
      /// </summary>
      /// <returns>
      /// Randomly generated password.
      /// </returns>
      /// <remarks>
      /// The length of the generated password will be determined at
      /// random. It will be no shorter than the minimum default and
      /// no longer than maximum default.
      /// </remarks>
      public static string Generate()
      {
         return Generate(DefaultMinPasswordLength,
                         DefaultMaxPasswordLength);
      }

      /// <summary>
      /// Generates a random password of the exact length.
      /// </summary>
      /// <param name="length">
      /// Exact password length.
      /// </param>
      /// <returns>
      /// Randomly generated password.
      /// </returns>
      public static string Generate(int length)
      {
         return Generate(length, length);<commit_msg>more special characters allowed in password generation<commit_after>﻿using System;

namespace Aloneguid.Support
{
   /// <summary>
   /// Generates random passwords
   /// </summary>
   public static class PasswordGenerator
   {
      // Define default min and max password lengths.
      private static int DefaultMinPasswordLength = 8;
      private static int DefaultMaxPasswordLength = 10;

      // Define supported password characters divided into groups.
      // You can add (or remove) characters to (from) these groups.
      private static string LowercastChars = "abcdefgijkmnopqrstwxyz";
      private static string UppercaseChars = "ABCDEFGHJKLMNPQRSTWXYZ";
      private static string NumericChars = "0123456789";
      private static string SpecialChars = "#$%^&*-_!+=[]{}|\\:‘,.?/`~“();";

      /// <summary>
      /// Generates a random password.
      /// </summary>
      /// <returns>
      /// Randomly generated password.
      /// </returns>
      /// <remarks>
      /// The length of the generated password will be determined at
      /// random. It will be no shorter than the minimum default and
      /// no longer than maximum default.
      /// </remarks>
      public static string Generate()
      {
         return Generate(DefaultMinPasswordLength,
                         DefaultMaxPasswordLength);
      }

      /// <summary>
      /// Generates a random password of the exact length.
      /// </summary>
      /// <param name="length">
      /// Exact password length.
      /// </param>
      /// <returns>
      /// Randomly generated password.
      /// </returns>
      public static string Generate(int length)
      {
         return Generate(length, length);
{'fraction_non_alphanumeric': 0.11359570661896243, 'fraction_numerical': 0.007155635062611807, 'mean_word_length': 2.083639705882353, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 31, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5557948', 'n_tokens_mistral': 870, 'n_tokens_neox': 825, 'n_words': 287}