// Path: types/src/main/java/com/google/common/html/types/SafeHtml.java
// @CheckReturnValue
// @Immutable
// @JsType
// public final class SafeHtml {
// 
//   /** The SafeHtml wrapping an empty string. */
//   public static final SafeHtml EMPTY = new SafeHtml("");
// 
//   private final String privateDoNotAccessOrElseSafeHtmlWrappedValue;
// 
//   SafeHtml(String html) {
//     if (html == null) {
//       throw new NullPointerException();
//     }
//     this.privateDoNotAccessOrElseSafeHtmlWrappedValue = html;
//   }
// 
//   @Override
//   public int hashCode() {
//     return privateDoNotAccessOrElseSafeHtmlWrappedValue.hashCode() ^ 0x33b02fa9;
//   }
// 
//   @Override
//   public boolean equals(Object other) {
//     if (!(other instanceof SafeHtml)) {
//       return false;
//     }
//     SafeHtml that = (SafeHtml) other;
//     return this.privateDoNotAccessOrElseSafeHtmlWrappedValue.equals(
//         that.privateDoNotAccessOrElseSafeHtmlWrappedValue);
//   }
// 
//   /**
//    * Returns a debug representation of this value's underlying string, NOT the string representation
//    * of the SafeHtml.
//    *
//    * <p>Having {@code toString()} return a debug representation is intentional. This type has
//    * a GWT-compiled JavaScript version; JavaScript has no static typing and a distinct method
//    * method name provides a modicum of type-safety.
//    *
//    * @see #getSafeHtmlString
//    */
//   @Override
//   public String toString() {
//     return "SafeHtml{" + privateDoNotAccessOrElseSafeHtmlWrappedValue + "}";
//   }
// 
//   /**
//    * Returns this value's underlying string. See class documentation for what guarantees exist on
//    * the returned string.
//    */
//   // NOTE(mlourenco): jslayout depends on this exact method name when generating code, be careful if
//   // changing it.
//   public String getSafeHtmlString() {
//     return privateDoNotAccessOrElseSafeHtmlWrappedValue;
//   }
// }


import com.google.common.html.types.SafeHtml;
import org.owasp.html.Sanitizers;
import org.owasp.html.htmltypes.SafeHtmlMint;
package com.example.safehtmltypes;



/**
 * Demonstrates that a third-party library can use UncheckedConversions
 */
public final class Example {

  public static void main(String[] argv) {
    SafeHtmlMint mint = SafeHtmlMint.fromPolicyFactory(
        Sanitizers.FORMATTING.and(Sanitizers.BLOCKS));
    for (String arg : argv) {
// Path: types/src/main/java/com/google/common/html/types/SafeHtml.java
// @CheckReturnValue
// @Immutable
// @JsType
// public final class SafeHtml {
// 
//   /** The SafeHtml wrapping an empty string. */
//   public static final SafeHtml EMPTY = new SafeHtml("");
// 
//   private final String privateDoNotAccessOrElseSafeHtmlWrappedValue;
// 
//   SafeHtml(String html) {
//     if (html == null) {
//       throw new NullPointerException();
//     }
//     this.privateDoNotAccessOrElseSafeHtmlWrappedValue = html;
//   }
// 
//   @Override
//   public int hashCode() {
//     return privateDoNotAccessOrElseSafeHtmlWrappedValue.hashCode() ^ 0x33b02fa9;
//   }
// 
//   @Override
//   public boolean equals(Object other) {
//     if (!(other instanceof SafeHtml)) {
//       return false;
//     }
//     SafeHtml that = (SafeHtml) other;
//     return this.privateDoNotAccessOrElseSafeHtmlWrappedValue.equals(
//         that.privateDoNotAccessOrElseSafeHtmlWrappedValue);
//   }
// 
//   /**
//    * Returns a debug representation of this value's underlying string, NOT the string representation
//    * of the SafeHtml.
//    *
//    * <p>Having {@code toString()} return a debug representation is intentional. This type has
//    * a GWT-compiled JavaScript version; JavaScript has no static typing and a distinct method
//    * method name provides a modicum of type-safety.
//    *
//    * @see #getSafeHtmlString
//    */
//   @Override
//   public String toString() {
//     return "SafeHtml{" + privateDoNotAccessOrElseSafeHtmlWrappedValue + "}";
//   }
// 
//   /**
//    * Returns this value's underlying string. See class documentation for what guarantees exist on
//    * the returned string.
//    */
//   // NOTE(mlourenco): jslayout depends on this exact method name when generating code, be careful if
//   // changing it.
//   public String getSafeHtmlString() {
//     return privateDoNotAccessOrElseSafeHtmlWrappedValue;
//   }
// }


// Path: examples/third_party_library/src/main/java/com/example/safehtmltypes/Example.java
import com.google.common.html.types.SafeHtml;
import org.owasp.html.Sanitizers;
import org.owasp.html.htmltypes.SafeHtmlMint;

package com.example.safehtmltypes;



/**
 * Demonstrates that a third-party library can use UncheckedConversions
 */
public final class Example {

  public static void main(String[] argv) {
    SafeHtmlMint mint = SafeHtmlMint.fromPolicyFactory(
        Sanitizers.FORMATTING.and(Sanitizers.BLOCKS));
    for (String arg : argv) {
      SafeHtml html = mint.sanitize(arg);